Z80
Il set completo delle istruzioni
OTTALE  HEX MNEMONICO       DESCRIZIONE                                      
   0     0  NOP             Nessuna operazione
   1     1  LD BC,addr      Carica un indirizzo in BC
   2     2  LD (BC), A      Carica A nella locazione (BC)
   3     3  INC BC          Incrementa BC
   4     4  INC B           Incrementa B
   5     5  DEC B           Decrementa B
   6     6  LD B, data      Carica un dato in B
   7     7  RLC A           Ruota A a sinistra
  11     9  ADD HL, BC      Somma BC a HL e mette il risultato in HL
  12    0A  LD A, (BC)      Carica in A il contenuto nella locazione (BC)
  13    0B  DEC BC          Decrementa BC
  14    0C  INC C           Incrementa C
  15    0D  DEC C           Decrementa C
  16    0E  LD C, data      Carica i dati in C
  17    0F  RRC A           Ruota A a destra
  21    11  LD DE,addr      Carica un indirizzo in DE
  22    12  LD (DE), A      Carica A nella locazione (DE)
  23    13  INC DE          Incrementa DE
  24    14  INC D           Incremanta D
  25    15  DEC D           Decrementa D
  26    16  LD D, data      Carica i dati in D
  27    17  RLA             Ruota A a sinistra attraverso il carry
  31    19  ADD HL, DE      Somma DE a HL e mette il risultato in HL
  32    1A  LD A, (DE)      Carica in A il contenuto della locazione (DE)
  33    1B  DEC DE          Decrementa DE
  34    1C  INC E           Incrementa E
  35    1D  DEC E           Decrementa E
  36    1E  LD E, data      Carica i dati in E
  37    1F  RRA             Ruota A a destra attraverso il carry
  41    21  LD HL,addr      Carica un indirizzo in HL
  42    22  LD (addr), HL   Carica la locazione (addr) con L e la locazione (addr + 1) con H
  43    23  INC HL          Incrementa HL
  44    24  INC H           Incrementa H
  45    25  DEC H           Decrementa H
  46    26  LD H, data      Carica i dati in H
  47    27  DAA             Usa l'accumulatoie in decimale
  51    29  ADD HL, HL      Somma HL a HL e mette il risultato in HL
  52    2A  LD HL, (addr)   Carica L e H con i contenuti delle locazioni (addr) e (addr+1)
  53    2B  DEC HL          Decrementa HL
  54    2C  INC L           Incrementa L
  55    2D  DEC L           Decrementa L
  56    2E  LD L, data      Carica il dato in L
  57    2F  CPL             Complementa il contenuto dell'accumulatore
  61    31  LD SP,addr      Carica un indirizzo nello stack pointer
  62    32  LD (addr), A    Carica A nella locazione (addr)
  63    33  INC SP          Incrementa lo stack pointer
  64    34  INC (HL)        Incrementa il contenuto della locazione (HL)
  65    35  DEC (HL)        Decrementa il contenuto della locazione (HL)
  66    36  LD (HL), data   Carica il dato nella locazione (HL)
  67    37  SCF             Setta il flag di carry
  71    39  ADD HL, SP      Somma lo stack pointer HL e mette il risultato in HL
  72    3A  LD A, (addr)    Carica A con byte alla locazione (addr)
  73    3B  DEC SP          Decrementa lo stack pointer
  74    3C  INC A           Incrementa l'accumulatore
  75    3D  DEC A           Decrementa l'accumulatore
  76    3E  LD A, data      Carica il dato nell'accumulatore
  77    3F  CCF             Complementa il flag di carry
  100   40  LD B,B          Carica B nel registro B
  101   41  LD B,C          Carica C nel registro B
  102   42  LD B,D          Carica D nel registro B
  103   43  LD B,E          Carica E nel registro B
  104   44  LD B,H          Carica H nel registro B
  105   45  LD B,L          Carica L nel registro B
  106   46  LD B, (HL)      Carica il contenuto della locazione (HL) nel registro B
  107   47  LD B,A          Carica l'accumulatore nel registro B
  110   48  LD C,B          Carica B nel registro C
  111   49  LD C,C          Carica C nel registro C
  112   4A  LD C,D          Carica D nel registro C
  113   4B  LD C,E          Carica E nel registro C
  114   4C  LD C,H          Carica H nel registro C
  115   4D  LD C,L          Carica L nel registro C
  116   4E  LD C,(HL)       Carica il contenuto della locazione (HL) nel registro C
  117   4F  LD C,A          Carica l'accumulatore nel registro C
  120   50  LD D,B          Carica B nel registro D
  121   51  LD D,C          Carica C nel registro D
  122   52  LD D,D          Carica D nel registro D
  123   53  LD D,E          Carica E nel registro D
  124   54  LD D,H          Carica H nel registro D
  125   55  LD D,L          Carica L nel registro D
  126   56  LD D,(HL)       Carica il contenuto della locazione (HL) nel registro D
  127   57  LD D,A          Carica l'accumulatore nel registro D
  130   58  LD E,B          Carica B nel registro E
  131   59  LD E,C          Carica C nel registro E
  132   5A  LD E,D          Carica D nel registro E
  133   5B  LD E,E          Carica E nel registro E
  134   5C  LD E,H          Carica H nel registro E
  135   5D  LD E,L          Carica L nel registro E
  136   5E  LD E,(HL)       Carica il contenuto della locazione (HL) nel registro E
  137   5F  LD E, A         Carica l'accumulatore nel registro E
  140   60  LD H,B          Carica B nel registro H
  141   61  LD H,C          Carica C nel registro H
  142   62  LD H,D          Carica D nel registro H
  143   63  LD H,E          Carica E nel registro H
  144   64  LD H,H          Carica H nel registro H
  145   65  LD H,L          Carica L nel registro H
  146   66  LD H,(HL)       Carica il contenuto della locazione (HL) nel registro H
  147   67  LD H, A         Carica l'accumulatore nel registro H
  150   68  LD L,B          Carica B nel registro L
  151   69  LD L,C          Carica C nel registro L
  152   6A  LD L,D          Carica D nel registro L
  153   6B  LD L,E          Carica E nel registro L
  154   6C  LD L,H          Carica H nel registro L
  155   6D  LD L, L         Carica L nel registro L
  156   6E  LD L, (HL)      Carica il contenuto della locazione (HL) nel reqistro L
  157   6F  LD L, A         Carica l'accumulatore nel registro L
  160   70  LD (HL), B      Carica B nella locazione (HL)
  161   71  LD (HL), C      Carica C nella locazione (HL)
  162   72  LD (HL), D      Carica D nella locazione (HL)
  163   73  LD (HL), E      Carica E nella locazione (HL)
  164   74  LD (HL), H      Carica H nella locazione (HL)
  165   75  LD (HL), L      Carica L nella locazione (HL)
  166   76  HALT            Alt
  167   77  LD (HL), A      Carica l'accumulatore nella locazione (HL)
  170   78  LD A, B         Carica B nell'accumulatore
  171   79  LD A,C          Carica C nell'accumulatore
  172   7A  LD A,D          Carica D nell'accumulatore
  173   7B  LD A, E         Carica E nell'accumulatore
  174   7C  LD A, H         Carica H nell'accumulatore
  175   7D  LD A, L         Carica L nell'accumulatore
  176   7E  LD A, (HL)      Carica il contenuto della locazione (HL) nell'accumulatore
  177   7F  LD A, A         Carica il contenuto dell'accumulatore nell'accumulatore
  200   80  ADD A, B        Somma B ad A e mette il risultato nell'accumulatore
  201   81  ADD A, C        Somma C ed A e mette il risultato nell'accumulatore
  202   82  ADD A, D        Somma D ed A e mette il risultato nell'accumulatore
  203   83  ADD A, E        Somma E ad A e mette il risultato nell'accumulatore
  204   84  ADD A, H        Somma H ad A e mette il risultato nell'accumulatore
  205   85  ADD A, L        Somma L ad A e mette il risultato nell'accumulatore
  206   86  ADD A, (HL)     Somma il contenuto della locazione (HL) ad A, risultato in A
  207   87  ADD A, A        Raddoppia A e mette il risultato nell'accumulatore
  210   88  ADC A, B        Somma B e il flag di carry ad A e mette il risultato in A
  211   89  ADC A, C        Somma C e il flag di carry ad A e mette il risultato in A
  212   8A  ADC A, D        Somma D e il flag di carry ad A e mette il risultato in A
  213   8B  ADC A, E        Somma E e il flag di carry ad A e mette il risultato in A
  214   8C  ADC A, H        Somma H e il flag di carry ad A e mette il risultato in A
  215   8D  ADC A, L        Somma L e il flag di carry ad A e mette il risultato in A
  216   8E  ADC A, (HL)     Somma il contenuto della loc.(HL) e carry ad A, risultato in A
  217   8F  ADC A, A        Somma A e il flag di carry ed A e mette il risultato in A
  220   90  SUB B           Sottrae B da A e mette il risultato nell'accumulatore
  221   91  SUB C           Sottrae C da A e mette il risultato nell'accumulatore
  222   92  SUB D           Sottrae D da A e mette il risultato nell'accumulatore
  223   93  SUB E           Sottrae E da A e mette il risultato nell'accumulatore
  224   94  SUB H           Sottrae H da A e mette il risultato nell'accumulatore
  225   95  SUB L           Sottrae L da A e mette il risultato nell'accumulatore
  226   96  SUB (HL)        Sottrae il contenuto della loc.(HL) e mette il risultato in A
  227   97  SUB A           Cancella l'accumulatore
  230   98  SBC A, B        Sottrae B e il carry da A e mette il risultato in A
  231   99  SBC A, C        Sottrae C e il carry da A e mette il risultato in A
  232   9A  SBC A, D        Sottrae D e il carry da A e mette il risultato in A
  233   9B  SBC A, E        Sottrae E e il carry da A e mette il risultato in A
  234   9C  SBC A, H        Sottrae H e il carry da A e mette il risultato in A
  235   9D  SBC A, L        Sottrae L e il carry da A e mette il risultato in A
  236   9E  SBC A, (HL)     Sottrae il contenuto della loc.(HL) e carry da A, risultato in A
  237   9E  SBC A, A        Sottrae il carry da zero e mette il risultato in A
  240   A0  AND B           AND di B con A e mette il risultato nell'accumulatore
  241   A1  AND C           AND di C con A e mette il risultato nell'accumulatore
  242   A2  AND D           AND di D con A e mette il risultato nell'accumulatore
  243   A3  AND E           AND di E con A e mette il risultato nell'accumulatore
  244   A4  AND H           AND di H con A e mette il risultato nell'accumulatore
  245   A5  AND L           AND di L con A e mette il risultato nell'accumulatore
  246   A6  AND (HL)        AND del contenuto della locazione (HL) con A, risultato in A
  247   A7  AND A           AND dell'accumulatore con se stesso
  250   A8  XOR B           Exclusive-or di B con A e mette il risultato in A
  251   A9  XOR C           Exclusive-or di C con A e mette il risultato in A
  252   AA  XOR D           Exclusive-or di 0 con A e mette il risultato in A
  253   AB  XOR E           Exclusive-or di E con A e mette il risultato in A
  254   AC  XOR H           Exclusive-or di H con A e mette il risultato in A
  255   AD  XOR L           Exclusive-or di L con A e mette il risultato in A
  256   AE  XOR (HL)        x-or del contenuto della locazione (HL) con A, il risultato in A
  257   AF  XOR A           Cancella l'accumulatore e il flag di carry
  260   B0  OR B            OR di B con A e mette il risultato nell'accumulatore
  261   B1  OR C            OR di C con A e mette il risultato nell'accumulatore
  262   B2  OR D            OR di D con A e mette il risultato nell'accumulatore
  263   B3  OR E            OR di E con A e mette il risultato nell'accumulatore
  264   B4  OR H            OR di H con A e mette il risultato nell'accumulatore
  265   B5  OR L            OR di L con A e mette il risultato nell'accumulatore
  266   B6  OR (HL)         OR del contenuto della locazione (HL) con A, il risultato in A
  267   B7  OR A            OR di A con A e mette il risultato in A
  270   B8  CP B            Confronta B con l'accumulatore e cambia solo i flags
  271   B9  CP C            Confronta C con l'accumulatore e cambia solo i flags
  272   BA  CP D            Confronta D con l'accumulatore e cambia solo i flags
  273   BB  CP E            Confronta E con l'accumulatore e cambia solo i flags
  274   BC  CP H            Confronta H con l'accumulatore e cambia solo i flags
  275   BD  CP L            Confronta L con l'accumulatore e cambia solo i flags
  276   BE  CP (HL)         Confronta il contenuto della loc.(HL) con A e cambia i flags
  277   BF  CP A            Confronta A con l'accumulatore e cambia solo i flags
  300   C0  RET NZ          Ritorna dalla subroutine se il risultato non è zero
  301   C1  POP BC          Richiama il contenuto di BC dallo stack
  302   C2  JP NZ, addr     Salta ad (addr) se il risultato non è zero
  303   C3  JP addr         Salto incondizionato ad (addr)
  304   C4  CALL NZ,addr    Chiama la subroutine ad (addr) se il risultato non è zero
  305   C5  PUSH BC         Forza BC nello stack
  306   C6  ADD A,data      Somma data ad A e mette il risultato in A
  307   C7  RST OOH         Chiama la subrontine (OOOOH)
  310   C8  RET Z           Ritorno alla subroutine se il risultato è zero
  311   C9  RET             Ritorna incondizionatamente alla subroutine
  312   CA  JP Z, addr      Salto ad (addr) se il risultato è zero
  314   CC  CALL Z, addr    Chiama la subroutine ad (addr) se il risultato è zero
  315   CD  CALL addr       Chiama la subroutine incondizionatamente
  316   CE  ADC A, data     Somma il carry e data ad A e mette il risultato in A
  317   CF  RST 08H         Chiama la subroutine a (0008H)
  320   D0  RET NC          Ritorna alla subroutine se il risultato non ha carry
  321   D1  POP DE          Estrae dallo stack e mette in DE
  322   D2  JP NC, addr     Salta ad addr se il risultato non ha carry
  323   D3  OUT (n), A      Rinvia il contenuto dell'accumulatore alla porta (n)
  324   D4  CALL NC,addr    Chiama la subroutine ad (addr) se il risultato non ha carry
  325   D5  PUSH DE         Mette DE nello stack
  326   D6  SUB data        Sottrae data da A e mette il risultato in A
  327   D7  RST 10H         Chiama la subroutine a (0010H)
  330   D8  RET C           Ritorna alla subroutine se il risultato ha carry
  332   DA  JP C,addr       Salta ad (addr) se il risultato ha carry
  333   DB  IN A, (n)       Carica il dato in ingresso dalla porta (n) nell'accumulatore
  334   DC  CALL C,addr     Chiama la subroutine ad (addr) se il risultato ha carry
  336   DE  SBC A, data     Sottrae il carry e il dato da A e lo mette in A
  337   DF  RST 18H         Chiama la subroutine A (0018H)
  340   E0  RET PO          Ritorna dalla subroutine se il risultato ha parità dispari
  341   E1  POP HL          Richiama il contenuto HL dallo stack
  342   E2  JP PO, addr     Salta ad (addr) se il risultato ha parità dispari
  343   E3  EX (SP), HL     Scambia i due bytes più alti dello stack con HL
  344   E4  CALL PO,addr    Chiama la subroutine ad (addr) se il risultato ha parità dispari
  345   E5  PUSH HL         Forza HL nello stack
  346   E6  AND data        AND tra data e A e mette il risultato nell'accumulatore
  347   E7  RST 20H         Chiama la subroutine a (0020H)
  350   E8  RET PE          Ritorna dalla subroutine se il risultato ha parità pari
  351   E9  JP (HL)         Salta all'indirizzo contenuto in HL
  352   EA  JP PE,addr      Salta a (addr) se il risultato ha parità pari
  353   EB  EX DE, HL       Scambia DE con HL
  354   EC  CALL PE,addr    Chiama la subroutine ad (addr) se il risultato ha parità pari
  356   EE  XOR data        Exclusive-or tra data e A e mette il risultato in A
  357   EF  RST 28H         Chiama la subroutine a (0028H)
  360   F0  RET P           Ritorna alla subroutine se il risultato è positivo
  361   F1  POP AF          Richiama il contenuto di AF dallo stack
  362   F2  JP P,addr       Salta ad (addr) se il risultato è positivo
  363   F3  DI              Disabilita il flag di interrupt
  364   F4  CALL P, addr    Chiama la subroutine ad (addr) se il risultato è positivo
  365   F5  PUSH AF         Forza AF nello stack
  366   F6  OR data         OR tra data e A e mette il risultato in A
  367   F7  RST 30H         Chiama la subroutine a (0030H)
  370   F8  RET M           Ritorna alla subroutine se il risultato è negativo
  371   F9  LD SP, HL       Carica lo stack pointer con HL
  372   FA  JP M,addr       Salta ad (addr) se il risultato è negativo
  373   FB  EI              Abilita il flag di interrupt
  374   FC  CALL M,addr     Chiama la subroutine ad (addr) se il risultato è negativo
  376   FE  CP data         Confronta il dato con A e cambia solo i flags
  377   FF  RST 38H         Chiama la subroutine a (0038H)
  GiorginiGiorgio@tin.it
pos sistemi