Initiation Au Z80 [Quasar Net]
Maybe your like
— Basé sur l'article publié dans Quasar CPC numéro 1, Initiation à l'Assembleur, par OffseT.
Chassez que ve jais pous vrendre au berceau1) ! Autrement dit, je considère que vous n'avez jamais vu quelque listing assembleur que ce soit et que vous n'en connaissez aucune commande ! Ok ? C'est parti !
Il est primordial que je commence par vous expliquer la commande LD (prononcer comme Load). Vous devez savoir qu'en assembleur Z80, on ne travaille pas avec des variables mais avec des registres. La différence est que ceux-ci ne peuvent contenir que des entiers et que leur nombre est limité, leur capacité aussi. Ainsi, vous devez également faire la différence entre les registres simples et les doubles.
Les simples ne peuvent contenir que des nombres compris entre 0 et 2552) alors que les doubles peuvent aller jusqu'à 655353). Mais là où ça se corse, c'est quand un registre double est formé par deux registres simples. Non, ne hurlez pas! Voici des exemples : prenons les registres simples B et C ; ils formeront le registre double BC. Et, comme je suis gentil, je vous donne la liste de “tous” les registres doubles existants : AF, BC, DE, HL, IX, IY, etc…
Pour ce premier cours nous ne nous servirons que de A et HL qui sont les plus utilisés. Revenons donc à LD : si vous faites un LD A,10 cela correspond à un A=10 en BASIC. Simple non ? De même, LD HL,65535 mettra 65535 dans HL. Oui mais là c'est un peu plus complexe et il vaut mieux raisonner en hexadécimal4). Ainsi, 65535=&FFFF et on lit alors très simplement que H contient &FF, tout comme L5). De même, si l'on met un LD HL,&01B3 ; H=&01 et L=&B3. Compris ? Parfait ! Maintenant que vous connaissez LD par coeur, je vais vous fournir deux vecteurs6). L'un équivalent à “PRINT CHR$(A)”, c'est le &BB5A et l'autre équivalent à “LOCATE H,L”, c'est le &BB75. Non ! On ne se sert pas de LD pour les exécuter mais de la commande CALL. C'est très simple, il faut un “CALL adresse” et ça marche ! Alors, voici un petit programme qui affiche le code ascii 65 aux coordonnées 1,1 :
ORG &5000 ;Implantation du prog en &5000 LD HL,&0101 ;H=1 et L=1 CALL &BB75 ;LOCATE H,L LD A,65 ;A=65 CALL &BB5A ;PRINT CHR$(A) RET ;Retour au BasicEt pour ceusses qui n'ont pas ouvert la doc de leur assembleur, je dis même comment lancer cette routine : sous BASIC faites un CALL &5000… évidemment, après avoir assemblé le programme…
Tag » Code Assembleur Z80
-
Programmation Assembleur Z80/Jeu D Instructions - Wikilivres
-
Programmation Assembleur Z80/Registres - Wikilivres
-
Assembleur Z80
-
Programmation Assembleur Z80/Jeu D Instructions - Campus
-
[PDF] LAssembleur Facile Du Z80 - DigitalOcean
-
CPCRULEZ > AMSTRAD CPC > > CODING > ANTOINE ...
-
CPCRULEZ > AMSTRAD CPC > > CODING > Z80
-
Remise En Jambe En Assembleur Z80 Pour Amstrad CPC
-
Apprendre L'ASM Z80 Pour TI - Site Du Zéro - Tutoriels
-
[PDF] 4/2.3 Les Mots-clés De L'assembleur Z80
-
[PDF] Z80 CPU User Manual - Zilog
-
Assembleur Z80 Pouvant Tourner Sur Un PC Sous Windows 8 Ou 10
-
Zilog Z80 - Wikipédia
-
Langage C Et Assembleur Pour Z80 Avec SDCC - OpenClassrooms