CODINGCLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★

4/6.1 - Les instructions du 8080Coding Classeurs Weka

4/6 - Travail en Assembleur 8080 sous CP/M 2.2 ou CP/M Plus

4/6.1 - Les instructions du 8080

Liste résumée des instructions du 8080

Pour augmenter la lisibilité des instructions,  nous avons adopté les conventions suivantes :

r et r'    désignent un des registres du microprocesseur,
nn désigne une constante de longueur un octet,
nnnn désigne une constante de longueur deux octets.

Le registre des indicateurs contient les informations suivantes :

  • C Retenue
  • H Semi-retenue (bit 3 vers bit 4)
  • N Négatif
  • 0 Débordement
  • P Parité
  • S Signe
  • Z Zéro

A

  • ACI nn Addition de l'accumulateur, de la retenue et de la constante nn
  • ADC M Addition de la mémoire d'adresse HL, de l'accumulateur et de la retenue
  • ADC r Addition de l'accumulateur, du registre spécifié et de la retenue
  • ADD M   Addition de la mémoire d'adresse HL et de l'accumulateur
  • ADD r   Addition de l'accumulateur et du registre r
  • ADI nn   Addition de l'accumulateur et de la constante nn
  • ANA M   ET logique entre l'accumulateur et la mémoire d'adresse HL
  • ANA r    ET logique entre l'accumulateur et le registre r
  • ANI nn    ET logique entre l'accumulateur et la constante nn

C

  • CALL nnnn Appel inconditionnel du sous-programme d'adresse nnnn
  • CC nnnn Appel du sous-programme d'adresse nnnn si C=1
  • CM nnnn Appel du sous-programme d'adresse nnnn si S = 1
  • CNC nnnn Appel du sous-programme d'adresse nnnn si C = 0
  • CNZ nnnn Appel du sous-programme d'adresse nnnn si Z = 0
  • CP nnnn Appel du sous-programme d'adresse nnnn si S = 0
  • CPE nnnn Appel du sous-programme d'adresse nnnn si P=1
  • CPO nnnn Appel du sous-programme d'adresse nnnn si P = 0
  • CZ nnnn Appel du sous-programme d'adresse nnnn si Z- 1
  • CMA Complément à un de l'accumulateur
  • CMC Complémentation de l'indicateur de retenue
  • CMP M Compare l'accumulateur et la mémoire d'adresse HL
  • CMP r Compare l'accumulateur et le registre r
  • CPI nn Compare l'accumulateur et la constante nn

D

  • DAA Ajustement décimal de l'accumulateur
  • DAD B  Additionne les registres HL et BC
  • DAD D Additionne les registres HL et DE
  • DAD H Additionne les registres HL et HL
  • DAD SP Additionne les registres HL et SP
  • DCR M Décrémente la mémoire d'adresse HL
  • DCR r  Décrémente le registre r
  • DCX B  Décrémente le registre BC
  • DCX D Décrémente le registre DE
  • DCX H Décrémente le registre HL
  • DCX SP  Décrémente le registre SP
  • DI  Dévalide les interruptions

E

  • EI Autorise les interruptions

H

  • HLT Suspend l'activité du CPU jusqu'à la prochaine inter ruption ou jusqu'au RESET


  • IN nn Lit le port nn et place la valeur lue dans l'accumulateur
  • INR M Incrémente la mémoire d'adresse HL
  • INR r Incrémente le registre r
  • INX B Incrémente le registre BC
  • INX D Incrémente le registre DE
  • INX H Incrémente le registre HL
  • INX SP Incrémente le registre SP

J

  • JMP nnnn Saut inconditionnel à l'adresse nnnn
  • JC nnnn  Saut à l'adresse nnnn si C= 1
  • JM nnnn  Saut à l'adresse nnnn si S – 1
  • JNC nnnn  Saut à l'adresse nnnn si C = 0
  • JNZ nnnn  Saut à l'adresse nnnn si Z = 0
  • JP nnnn  Saut à l'adresse nnnn si S = 0
  • JPE nnnn  Saut à l'adresse nnnn si P= 1
  • JPO nnnn  Saut à l'adresse nnnn si P = 0
  • JZ nnnn Saut à l'adresse nnnn si Z= 1

L

  • LDA nnnn Charge l'accumulateur avec le contenu de l'adresse nnnn
  • LDAX B Charge l'accumulateur avec le contenu de l'adresse qui se trouve dans le registre BC
  • LDAX D  Charge l'accumulateur avec le contenu de l'adresse qui se trouve dans le registre DE
  • LHLD nnnn  Charge le registre L avec le contenu de l'adresse nnnn et le registre H avec le contenu de l'adresse nnnn+ 1
  • LXI B,nnnn  Charge le registre BC avec la constante nnnn
  • LXI D,nnnn  Charge le registre DE avec la constante nnnn
  • LXI H,nnnn  Charge le registre HL avec la constante nnnn
  • LXI SP,nnnn  Charge le registre SP avec la constante nnnn

M

  • MOV M,r Stocke le contenu du  registre r dans la  mémoire d'adresse HL
  • MOV r,M  Stocke dans le registre r le contenu de la mémoire d'adresse HL
  • MOV r,r'  Stocke le contenu du registre r' dans le registre r
  • MVI M,nn  Charge la constante nn dans la mémoire d'adresse HL
  • MVI r,nn  Charge la constante nn dans le registre r

N

  • NOP Aucune opération

O

  • ORA M  OU  logique   entre   l'accumulateur   et   la   mémoire d'adresse HL
  • ORA r  OU logique entre l'accumulateur et le registre r
  • ORI nn  OU logique entre l'accumulateur et la constante nn
  • OUT nn  Le contenu de l'accumulateur est placé sur le port d'adresse nn

P

  • PCHL Charge le compteur de programme (PC) avec la valeur contenue dans le registre HL
  • POP B Charge le registre BC avec les deux octets supérieurs de la pile
  • POP D  Charge le registre DE avec les deux octets supérieurs de la pile
  • POP H  Charge le registre HL avec les deux octets supérieurs de la pile
  • POP PSW Charge les indicateurs avec l'octet au sommet de la pile et l'accumulateur avec l'octet suivant
  • PUSH B Empile le contenu du registre BC
  • PUSH D Empile le contenu du registre DE
  • PUSH H Empile le contenu du registre HL
  • PUSH PSW Empile le contenu des indicateurs et de l'accumulateur

R

  • RAL Rotation vers la gauche de l'accumulateur
  • RAR Rotation vers la droite de l'accumulateur
  • RET Retour de sous-programme
  • RC Retour de sous-programme si C= 1
  • RM Retour de sous-programme si S = 1
  • RNC Retour de sous-programme si C = 0
  • RNZ Retour de sous-programme si Z = 0
  • RP Retour de sous-programme si S = 0
  • RPE Retour de sous-programme si P= 1
  • RPO Retour de sous-programme si P = 0
  • RZ Retour de sous-programme si Z= 1
  • RLC Rotation vers la gauche de l'accumulateur
  • RRC Rotation vers la droite de l'accumulateur
  • RST 0 à RST 7 Débranchement aux sous-programmes d'adresse (respectivement) #00, #08, #10, #18, #20, #28, #30, #38

S

  • SBB M Soustrait de l'accumulateur l'octet d'adresse HL et la retenue
  • SBB r Soustrait de l'accumulateur le registre r et la retenue
  • SBI nn Soustrait de l'accumulateur la constante nn et la retenue
  • SHLD nnnn Stocke à l'adresse nnnn le contenu du registre L et à l'adresse nnnn + 1 le contenu de l'adresse nnnn+1
  • SPHL Stocke le contenu du registre HL dans SP
  • STA nnnn Stocke l'accumulateur dans la mémoire d'adresse nnnn
  • STAX B Stocke l'accumulateur dans la mémoire d'adresse BC
  • STAX D Stocke l'accumulateur dans la mémoire d'adresse DE
  • STC Met à un l'indicateur de retenue
  • SUB M Soustrait de l'accumulateur l'octet d'adresse HL
  • SUB r Soustrait de l'accumulateur le contenu du registre r
  • SUI nn Soustrait de l'accumulateur la constante nn

X

  • XCHG Echange le contenu des registres DE et HL
  • XRA M  OU  exclusif   entre   l'accumulateur  et   la   mémoire d'adresse HL
  • XRA r OU exclusif entre l'accumulateur et le registre r
  • XRI nn OU exclusif entre l'accumulateur et la constante nn
  • XTHL Echange d'une part le contenu de SP et le registre L, et d'autre part le contenu de SP+ 1 et le registre H.

Page précédente : 4/6 - Travail en Assembleur 8080 sous CP/M 2.2 ou CP/M Plus

CPCrulez[Content Management System] v8.7-desktop
Page créée en 574 millisecondes et consultée 981 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.