thumb|Z80 Onderstaande tabellen bevatten de instructieset van de Z80. De instructieset van de Intel 8080 is hiervan een deelverzameling.

De 8085 wordt hier niet behandeld. Hij heeft twee instructies (RIM en SIM) meer dan de 8080 en is daardoor niet geheel compatibel met de Z80. De 8085 heeft ook nog een aantal ongedocumenteerde instructies.

De mnemonische codes van Intel en Z80 zijn niet aan elkaar gelijk. Dat is vermoedelijk gedaan om het auteursrecht van Intel niet te schenden. De codes van Z80 worden echter door velen beschouwd als gemakkelijker te leren.

De Z280 is een uitbreiding van de Z80, met nog meer instructies dan de Z80.

Registers AFA'F'BCB'C'DED'E'HLH'L'IXIYSPPCIFF1 (één bit)IFF2 (één bit)IR

Register F Het register F (flags of conditiecode) bestaat uit acht bits waarvan er zes gedocumenteerd zijn:

bitnaambetekenistest0C (carry)Bij optellen en aftrekken de overdracht uit hoogste bitBij schuifinstructies het bit dat uit het register geschoven werdC, NC1N0 na optellen en INC, 1 na aftrekken en DECdoor DAA-instructie2PV (parity, overflow)Na optellen en aftrekken de 2-complements overflowNa logische instructies de pariteit van het resultaatPE, PO3Niet gebruikt4H (half carry)Bij optellen en aftrekken de overdracht uit bit 3 (bij 16-bits bewerkingen de overdracht uit bit 11)door DAA-instructie5Niet gebruikt6Z (zero)1 als het resultaat van een bewerking nul is, anders 0Z, NZ7S (sign)gelijk aan bit 7 van het resultaat van een bewerking, het teken van het resultaatM, P

Legenda neen byte die in de instructie is opgenomen nntwee bytes die in de instructie zijn opgenomen eeen byte die een sprong over een beperkte afstand mogelijk maakt iIX of IY

Instructies zonder prefix en met prefix DD en FD In elk vak staat boven de syntaxis van de Z80, daaronder van de 8080/8085. Is er maar een syntaxis vermeld, dan werkt de instructie niet op de 8080, resp 8085.

Een instructie die gebruik maakt van HL kan worden voorzien van het prefix DD of FD en werkt dan niet met HL maar met IX of IY.

Een instructie die gebruik maakt van (HL) kan worden voorzien van het prefix DD of FD en werkt dan niet met (HL) maar met (IX+n) of (IY+n). Deze instructies hebben dus nog een extra byte, die de waarde van n (de offset) bevat.

Het gebruik van deze prefixen met een instructie waarin niet met HL of (HL) wordt gewerkt is voor de Z80 niet gedocumenteerd, maar de Z280 heeft veel extra instructies die beginnen met DD of FD, ook instructies die niet met IX of IY werken.

Opmerking: De sprongopdracht JP (HL) heeft een inconsequente syntaxis. Het zou JP HL moeten zijn. Met een prefix verandert deze instructie dan ook in JP (IX) of JP (IY), zonder een extra byte bij te tellen.

laatste 3 bits:01234567eerste 5 of 13 bits00NOPNOP LD BC,nnLXI B,nn LD (BC),ASTAX BINC BCINX B INC BINC B DEC BDCR B LD B,nMVI B,n RLCARLCDD00FD00 LDW (HL),nn  INCW (HL)INCW (IX+nn)INC (SP+nn)INC (PC+nn)DEC (SP+nn)DEC (PC+nn)LD (SP+nn),n LD (PC+nn),nn08EX AF,AF' ADD HL,BCDAD BLD A,(BC)LDAX B DEC BCDCX BINC CINC C DEC CDCR C LD C,nMVI C,n RRCARRCDD08FD08 ADD i,BC DECW (HL)DECW (IX+nn)INC (HL+IX)INC (IX+nn) DEC (HL+IX)DEC (IX+nn) LD (HL+IX),nLD (IX+nn),n 10DJNZ e LD DE,nnLXI D,nn LD (DE),ASTAX DINC DEINX D INC DINC D DEC DDCR DLD D,nMVI D,n RLARALDD10FD10 LDW (nn),nn INCW (nn) INCW (IY+nn)INC (HL+IY)INC (IY+nn)DEC (HL+IY)DEC (IY+nn) LD (HL+IY),nLD (IY+nn),n 18JR e ADD HL,DEDAD D LD A,(DE)LDAX DDEC DEDCX DINC EINC E DEC EDCR E LD E,nMVI E,n RRARARDD18FD18 ADD i,DE DECW (nn)DECW (IY+nn)INC (IX+IY)INC (HL+nn) DEC (IX+IY)DEC (HL+nn) LD (IX+IY),n LD (HL+nn),n 20JR NZ,e RIM (8085)LD HL,nnLXI H,nn LD (nn),HLSHLD nn INC HLINX HINC HINC H DEC HDCR HLD H,nMVI H,n DAADAADD20FD20JAR (n) LD i,nnLD (nn),i INC iINC iH DEC iHLD iH,n 28JR Z,e ADD HL,HLDAD H LD HL,(nn)LHLD nnDEC HLDCX HINC LINC LDEC LDCR L LD L,nMVI L,n CPLCPLDD28FD28JAF (n) ADD i,i LD i,(nn)DEC iINC iLDEC iL LD iL,n 30JR NC,e SIM (8085)LD SP,nnLXI SP,nn LD (nn),ASTA nnINC SPINX SPINC (HL)INC M DEC (HL)DCR MLD (HL),nMVI M,n SCFSCFDD30FD30 LDW (PC+nn),nn  INCW (PC+nn) INC (i+n) DEC (i+n)LD (i+n),n 38JR C,e ADD HL,SPDAD SP LD A,(nn)LDA nnDEC SPDCX SPINC AINC A DEC ADCR ALD A,nMVI A,n CCFCCFDD38FD38 ADD i,SP DECW (PC+nn) INC (nn) DEC (nn) LD (nn),n 40LD B,BMOV B,BLD B,CMOV B,CLD B,DMOV B,DLD B,EMOV B,ELD B,HMOV B,HLD B,LMOV B,LLD B,(HL)MOV B,MLD B,AMOV B,ADD40-FD40 LD B,iHLD B,iLLD B,(i+n)48LD C,BMOV C,BLD C,CMOV C,CLD C,DMOV C,DLD C,EMOV C,ELD C,HMOV C,HLD C,LMOV C,LLD C,(HL)MOV C,MLD C,AMOV C,ADD48-FD48 LD C,iHLD C,iLLD C,(i+n)50LD D,BMOV D,BLD D,CMOV D,CLD D,DMOV D,DLD D,EMOV D,ELD D,HMOV D,HLD D,LMOV D,LLD D,(HL)MOV D,MLD D,AMOV D,ADD50-FD50 LD D,iHLD D,iLLD D,(i+n)58LD E,BMOV E,BLD E,CMOV E,CLD E,DMOV E,DLD E,EMOV E,ELD E,HMOV E,HLD E,LMOV E,LLD E,(HL)MOV E,MLD E,AMOV E,ADD58-FD58 LD E,iHLD E,iLLD E,(i+n)60LD H,BMOV H,BLD H,CMOV H,CLD H,DMOV H,DLD H,EMOV H,ELD H,HMOV H,HLD H,LMOV H,LLD H,(HL)MOV H,MLD H,AMOV H,ADD60-FD60LD iH,BLD iH,CLD iH,DLD iH,E LD iH,iLLD H,(i+n)LD iH,A68LD L,BMOV L,BLD L,CMOV L,CLD L,DMOV L,DLD L,EMOV L,ELD L,HMOV L,HLD L,LMOV L,LLD L,(HL)MOV L,MLD L,AMOV L,ADD68-FD68LD iL,BLD iL,CLD iL,DLD iL,ELD iL,iH LD L,(i+n)LD iL,A70LD (HL),BMOV M,BLD (HL),CMOV M,CLD (HL),DMOV M,DLD (HL),EMOV M,ELD (HL),HMOV M,HLD (HL),LMOV M,LHALTHLTLD (HL),AMOV M,ADD70-FD70LD (i+n),BLD (i+n),CLD (i+n),DLD (i+n),ELD (i+n),HLD (i+n),LLD (i+n),A78LD A,BMOV A,BLD A,CMOV A,CLD A,DMOV A,DLD A,EMOV A,ELD A,HMOV A,HLD A,LMOV A,LLD A,(HL)MOV A,MLD A,AMOV A,ADD78FD78LD A,(SP+nn)LD A,(PC+nn)LD A,(HL+IX)LD A,(IX+nn) LD A,(HL+IY)LD A,(IY+nn) LD A,(IX+IY)LD A,(HL+nn)LD A,iHLD A,iLLD A,(i+n)80ADD A,BADD BADD A,CADD CADD A,DADD DADD A,EADD EADD A,HADD HADD A,LADD LADD A,(HL)ADD MADD A,AADD ADD80FD80ADD A,(SP+nn)ADD A,(PC+nn)ADD A,(HL+IX)ADD A,(IX+nn)ADD A,(HL+IY) ADD A,(IY+nn)ADD A,(IX+IY) ADD A,(HL+nn)ADD A,iHADD A,iLADD A,(i+n)ADD A,(nn) 88ADC A,BADC BADC A,CADC CADC A,DADC DADC A,EADC EADC A,HADC HADC A,LADC LADC A,(HL)ADC MADC A,AADC ADD88FD88ADC A,(SP+nn)ADC A,(PC+nn)ADC A,(HL+IX)ADC A,(IX+nn)ADC A,(HL+IY) ADC A,(IY+nn)ADC A,(IX+IY) ADC A,(HL+nn)ADC A,iHADC A,iLADC A,(i+n)ADC A,(nn) 90SUB A,BSUB BSUB A,CSUB CSUB A,DSUB DSUB A,ESUB ESUB A,HSUB HSUB A,LSUB LSUB A,(HL)SUB MSUB A,ASUB ADD90FD90SUB A,(SP+nn)SUB A,(PC+nn)SUB A,(HL+IX)SUB A,(IX+nn)SUB A,(HL+IY) SUB A,(IY+nn)SUB A,(IX+IY) SUB A,(HL+nn)SUB A,iHSUB A,iLSUB A,(i+n)SUB A,(nn) 98SBC A,BSBC BSBC A,CSBC CSBC A,DSBC DSBC A,ESBC ESBC A,HSBC HSBC A,LSBC LSBC A,(HL)SBC MSBC A,ASBC ADD98FD98SBC A,(SP+nn)SBC A,(PC+nn)SBC A,(HL+IX)SBC A,(IX+nn)SBC A,(HL+IY) SBC A,(IY+nn)SBC A,(IX+IY)SBC A,(HL+nn)SBC A,iHSBC A,iLSBC A,(i+n)SBC A,(nn) A0AND A,BAND BAND A,CAND CAND A,DAND DAND A,EAND EAND A,HAND HAND A,LAND LAND A,(HL)AND MAND A,AAND ADDA0FDA0AND A,(SP+nn)AND A,(PC+nn)AND A,(HL+IX)AND A,(IX+nn)AND A,(HL+IY) AND A,(IY+nn)AND A,(IX+IY) AND A,(HL+nn)AND A,iHAND A,iLAND A,(i+n)AND A,(nn) A8XOR A,BXOR BXOR A,CXOR CXOR A,DXOR DXOR A,EXOR EXOR A,HXOR HXOR A,LXOR LXOR A,(HL)XOR MXOR A,AXOR ADDA8FDA8XOR A,(SP+nn)XOR A,(PC+nn)XOR A,(HL+IX)XOR A,(IX+nn)XOR A,(HL+IY) XOR A,(IY+nn)XOR A,(IX+IY) XOR A,(HL+nn)XOR A,iHXOR A,iLXOR A,(i+n)XOR A,(nn) B0OR A,BOR BOR A,COR COR A,DOR DOR A,EOR EOR A,HOR HOR A,LOR LOR A,(HL)OR MOR A,AOR ADDB0FDB0OR A,(SP+nn)OR A,(PC+nn)OR A,(HL+IX)OR A,(IX+nn)OR A,(HL+IY) OR A,(IY+nn)OR A,(IX+IY) OR A,(HL+nn)OR A,iHOR A,iLOR A,(i+n)OR A,(nn) B8CP A,BCP BCP A,CCP CCP A,DCP DCP A,ECP ECP A,HCP HCP A,LCP LCP A,(HL)CP MCP A,ACP ADDB8FDB8CP A,(SP+nn)CP A,(PC+nn)CP A,(HL+IX)CP A,(IX+nn)CP A,(HL+IY) CP A,(IY+nn)CP A,(IX+IY)CP A,(HL+nn)CP A,iHCP A,iLCP A,(i+n)CP A,(nn) C0RET NZRNZPOP BCPOP BJP NZ,nnJNZ nn JP nnJMP nn CALL NZ,nnCNZ nnPUSH BCPUSH BADD A,nADI nRST 0RST 0DDC0FDC0 POP (HL) JP NZ,(HL) JP NZ,PC+nn(zie E9)JP PC+nnCALL NZ,(HL)CALL NZ,PC+nnPUSH (HL) C8RET ZRZRETRETJP Z,nnJZ nn prefix CALL Z,nnCZ nnCALL nnCALL nnADC A,nACI nRST 8RST 1DDC8FDC8 JP Z,(HL) JP Z,PC+nn prefixCALL Z,(HL)CALL Z,PC+nn CALL (HL)CALL PC+nn D0RET NCRNCPOP DEPOP DJP NC,nnJNC nn OUT (n),AOUT nCALL NC,nnCNC nnPUSH DEPUSH DSUB A,nSUI nRST 10hRST 2DDD0FDD0POP (nn) JP NC,(HL)JP NC,PC+nnCALL NC,(HL)CALL NC,PC+nn PUSH (nn) D8RET CRCEXX JP C,nnJC nn IN A,(n)IN nCALL C,nnCC nnprefix IX SBC A,nSBI nRST 18hRST 3DDD8FDD8JP C,(HL)JP C,PC+nnCALL C,(HL)CALL C,PC+nnE0RET PORPOPOP HLPOP HJP PO,nnJPO nnEX (SP),HLXTHLCALL PO,nnCPO nnPUSH HLPUSH HAND A,nANI nRST 20hRST 4DDE0FDE0 POP iJP PO,(HL)JP PO,PC+nnEX (SP),iCALL PO,(HL)CALL PO,PC+nn PUSH iE8RET PERPEJP (HL)PCHLJP PE,nnJPE nnEX DE,HLXCHGCALL PE,nnCPE nnprefix XOR A,nXRI nRST 28hRST 5DDE8FDE8 JP (i)JP PE,(HL)JP PE,PC+nnEX i,HLCALL PE,(HL)CALL PE,PC+nn F0RET PRPPOP AFPOP PSWJP P,nnJP nn DIDICALL P,nnCP nnPUSH AFPUSH PSWOR A,nORI nRST 30hRST 6DDF0FDF0POP (PC+nn) JP P,(HL)JP P,PC+nnCALL P,(HL)CALL P,PC+nnPUSH (PC+nn)PUSH nnF8RET MRMLD SP,HLSPHLJP M,nnJM nn EIEICALL M,nnCM nnprefix IY CP A,nCPI nRST 38hRST 7DDF8FDF8 LD SP,iJP M,(HL)JP M,PC+nnCALL M,(HL)CALL M,PC+nn

Z80-instructies beginnend met CB Na de opcode CB heeft de Z80 een aantal instructies voor bitmanipulaties.

Sommige van deze instructies zijn uitbreidingen van reeds bestaande instructies. Zo werkt RLC met elk 8-bitsregister, ook met A, hoewel RLCA reeds bestaat, maar uitsluitend met A. Er is echter meer verschil: RLC A verandert meer flags dan RLCA.

Opmerkelijk is dat de tweede byte van deze uitgebreide instructies gelijk is aan de opcode van de oorspronkelijke instructie. Bijvoorbeeld: RLCA is 07 en RLC A is CB07.

Een van de instructies is voor de Z80 niet gedocumenteerd. Hobbyisten die de instructie ontdekten gaven hem de opcode SLL of beter SL1. Men vermoedt dat de instructie een onbedoeld neveneffect is van het decoderen van de opcodes en dat de fabrikant niet dacht dat de instructie ergens nuttig voor zou zijn. Bij de latere Z280 is de opcode gebruikt voor de instructie TSET. De Z280 is dus niet geschikt voor een programma dat gebruik maakt van de ongedocumenteerde SL1.

De prefixen DD en FD kunnen gecombineerd worden met CB. Dit is alleen gedocumenteerd voor de instructies die (HL) gebruiken, en hierin wordt dus (IX+n) of (IY+n) gebruikt in plaats van (HL). Merkwaardig is dat in dit geval de laatste twee bytes van de instructie verwisseld worden. Na CB komt eerst de offset n en daarna de eigenlijke opcode. Vergelijk het volgende: CB C6 SET 0,(HL) DD CB 03 C6 SET 0,(IX+3) Men kan zich afvragen wat er gebeurt als de laatste drie bits van de vierde byte niet 110 zijn, wat niet gedocumenteerd is. Er is dan in principe geen offset nodig, maar dat kan de processor op dat moment nog niet weten. Bij onderzoek blijkt dat de bewerking met (IX+n) of (IY+n) wordt uitgevoerd en dat bovendien het resultaat wordt geladen in het register dat door de laatste drie bits wordt aangewezen. Dit is ongetwijfeld een onbedoeld neveneffect.

eerste 13 bitseerste 10 bitseerste 16 bits en laatste 8 bitseerste 16 bits en laatste 8 bitsCB001100 1011 0000 0RLC rCB401100 1011 01BIT b,rDDCBnn06-FDCBnn06RLC (i+n)DDCBnn46-FDCBnn46BIT b,(i+n)CB081100 1011 0000 1RRC rCB801100 1011 10RES b,rDDCBnn0E-FDCBnn0ERRC (i+n)DDCBnn86-FDCBnn86RES b,(i+n)CB101100 1011 0001 0RL rCBC01100 1011 11SET b,rDDCBnn16-FDCBnn16RL (i+n)DDCBnnC6-FDCBnnC6SET b,(i+n)CB181100 1011 0001 1RR rDDCBnn1E-FDCBnn1ERR (i+n)CB201100 1011 0010 0SLA rDDCBnn26-FDCBnn26SLA (i+n)CB281100 1011 0010 1SRA rDDCBnn2E-FDCBnn2ESRA (i+n)CB301100 1011 0011 0TSET rDDCBnn30-FDCBnn30TSET (i+n)CB381100 1011 0011 1SRL rDDCBnn3E-FDCBnn3ESRL (i+n)

Z80-instructies beginnend met ED Na de opcode ED heeft de Z80 nog een aantal verschillende instructies. De latere processor Z280 heeft hier nog veel meer aan toegevoegd. Bovendien kent de Z280 combinaties van ED met DD en FD.