; Z80 opcodes, numerical order, from Zilog manual, TDL mnems. ; Prefixed follow 0ffh = rst 7 ; ; SLRMAC bug - operands of MVIX and MVIY interchanged ; maclib z80 b equ 0 c equ 1 d equ 2 e equ 3 h equ 4 l equ 5 m equ 6 a equ 7 ; sllr macro reg db 0cbh,030h+reg endm ; ind equ 5 n equ 20h ; nop lxi b,nn stax b inx b inr b dcr b mvi b,n rlc exaf dad b ldax b dcx b inr c dcr c mvi c,n rrc djnz dis lxi d,nn stax d inx d inr d dcr d mvi d,n ral jr dis dad d ldax d dcx d inr e dcr e mvi e,n rar jrnz dis lxi h,nn shld nn inx h inr h dis: dcr h mvi h,n daa jrz dis dad h lhld nn dcx h inr l dcr l mvi l,n cma jrnc dis lxi sp,nn sta nn inx sp inr m dcr m mvi m,n stc jrc dis dad sp lda nn dcx sp inr a dcr a mvi a,n cmc mov b,b mov b,c mov b,d mov b,e mov b,h mov b,l mov b,m mov b,a mov c,b mov c,c mov c,d mov c,e mov c,h mov c,l mov c,m mov c,a mov d,b mov d,c mov d,d mov d,e mov d,h mov d,l mov d,m mov d,a mov e,b mov e,c mov e,d mov e,e mov e,h mov e,l mov e,m mov e,a mov h,b mov h,c mov h,d mov h,e mov h,h mov h,l mov h,m mov h,a mov l,b mov l,c mov l,d mov l,e mov l,h mov l,l mov l,m mov l,a mov m,b mov m,c mov m,d mov m,e mov m,h mov m,l hlt mov m,a mov a,b mov a,c mov a,d mov a,e mov a,h mov a,l mov a,m mov a,a add b add c add d add e add h add l add m add a adc b adc c adc d adc e adc h adc l adc m adc a sub b sub c sub d sub e sub h sub l sub m sub a sbb b sbb c sbb d sbb e sbb h sbb l sbb m sbb a ana b ana c ana d ana e ana h ana l ana m ana a xra b xra c xra d xra e xra h xra l xra m xra a ora b ora c ora d ora e ora h ora l ora m ora a cmp b cmp c cmp d cmp e cmp h cmp l cmp m cmp a rnz pop b jnz nn jmp nn cnz nn push b adi n rst 0 rz ret jz nn cz nn call nn aci n rst 1 rnc pop d jnc nn out n cnc nn push d sui n rst 2 rc exx jc nn in n cc nn sbi n rst 3 rpo pop h jpo nn xthl cpo nn push h ani n rst 4 rpe pchl jpe nn xchg cpe nn xri n rst 5 rp pop psw jp nn di cp nn push psw ori n rst 6 rm sphl jm nn ei cm nn cpi n rst 7 rlcr b rlcr c rlcr d rlcr e rlcr h rlcr l rlcr m rlcr a rrcr b rrcr c rrcr d rrcr e rrcr h rrcr l rrcr m rrcr a ralr b ralr c ralr d ralr e ralr h ralr l ralr m ralr a rarr b rarr c rarr d rarr e rarr h rarr l rarr m rarr a slar b slar c slar d slar e slar h slar l slar m slar a srar b srar c srar d srar e srar h srar l srar m srar a sllr b sllr c sllr d sllr e sllr h sllr l sllr m sllr a srlr b srlr c srlr d srlr e srlr h srlr l srlr m srlr a bit 0,b bit 0,c bit 0,d bit 0,e bit 0,h bit 0,l bit 0,m bit 0,a bit 1,b bit 1,c bit 1,d bit 1,e bit 1,h bit 1,l bit 1,m bit 1,a bit 2,b bit 2,c bit 2,d bit 2,e bit 2,h bit 2,l bit 2,m bit 2,a bit 3,b bit 3,c bit 3,d bit 3,e bit 3,h bit 3,l bit 3,m bit 3,a bit 4,b bit 4,c bit 4,d bit 4,e bit 4,h bit 4,l bit 4,m bit 4,a bit 5,b bit 5,c bit 5,d bit 5,e bit 5,h bit 5,l bit 5,m bit 5,a bit 6,b bit 6,c bit 6,d bit 6,e bit 6,h bit 6,l bit 6,m bit 6,a bit 7,b bit 7,c bit 7,d bit 7,e bit 7,h bit 7,l bit 7,m bit 7,a res 0,b res 0,c res 0,d res 0,e res 0,h res 0,l res 0,m res 0,a res 1,b res 1,c res 1,d res 1,e res 1,h res 1,l res 1,m res 1,a res 2,b res 2,c res 2,d res 2,e res 2,h res 2,l res 2,m res 2,a res 3,b res 3,c res 3,d res 3,e res 3,h res 3,l res 3,m res 3,a res 4,b res 4,c res 4,d res 4,e res 4,h res 4,l res 4,m res 4,a res 5,b res 5,c res 5,d res 5,e res 5,h res 5,l res 5,m res 5,a res 6,b res 6,c res 6,d res 6,e res 6,h res 6,l res 6,m res 6,a res 7,b res 7,c res 7,d res 7,e res 7,h res 7,l res 7,m res 7,a setb 0,b setb 0,c setb 0,d setb 0,e setb 0,h setb 0,l setb 0,m setb 0,a setb 1,b setb 1,c setb 1,d setb 1,e setb 1,h setb 1,l setb 1,m setb 1,a setb 2,b setb 2,c setb 2,d setb 2,e setb 2,h setb 2,l setb 2,m setb 2,a setb 3,b setb 3,c setb 3,d setb 3,e setb 3,h setb 3,l setb 3,m setb 3,a setb 4,b setb 4,c setb 4,d setb 4,e setb 4,h setb 4,l setb 4,m setb 4,a setb 5,b setb 5,c setb 5,d setb 5,e setb 5,h setb 5,l setb 5,m setb 5,a setb 6,b setb 6,c setb 6,d setb 6,e setb 6,h setb 6,l setb 6,m setb 6,a setb 7,b setb 7,c setb 7,d setb 7,e setb 7,h setb 7,l setb 7,m setb 7,a dadx b dadx d lxix nn sixd nn inxix dadx ix lixd nn dcxix inrx ind dcrx ind mvix ind,n dadx sp ldx b,ind ldx c,ind ldx d,ind ldx e,ind ldx h,ind ldx l,ind stx b,ind stx c,ind stx d,ind stx e,ind stx h,ind stx l,ind stx a,ind ldx a,ind addx ind adcx ind subx ind sbcx ind andx ind xorx ind orx ind cmpx ind popix xtix pushix pcix spix rlcx ind rrcx ind ralx ind rarx ind slax ind srax ind srlx ind bitx 0,ind bitx 1,ind bitx 2,ind bitx 3,ind bitx 4,ind bitx 5,ind bitx 6,ind bitx 7,ind resx 0,ind resx 1,ind resx 2,ind resx 3,ind resx 4,ind resx 5,ind resx 6,ind resx 7,ind setx 0,ind setx 1,ind setx 2,ind setx 3,ind setx 4,ind setx 5,ind setx 6,ind setx 7,ind inp b outp b dsbc b sbcd nn neg retn im0 stai inp c outp c dadc b lbcd nn reti star inp d outp d dsbc d sded nn im1 ldai inp e outp e dadc d lded nn im2 ldar inp h outp h dsbc h dw 063edh,nn; shld nn (useless) rrd inp l outp l dadc h dw 06bedh,nn; lhld nn (useless) rld inp m outp m dsbc sp sspd nn inp a outp a dadc sp lspd nn ldi cci ini outi ldd ccd ind outd ldir ccir inir outir lddr ccdr indr outdr dady b dady d lxiy nn siyd nn inxiy dady iy liyd nn dcxiy inry ind dcry ind mviy ind,n dady sp ldy b,ind ldy c,ind ldy d,ind ldy e,ind ldy h,ind ldy l,ind sty b,ind sty c,ind sty d,ind sty e,ind sty h,ind sty l,ind sty a,ind ldy a,ind addy ind adcy ind suby ind sbcy ind andy ind xory ind ory ind cmpy ind popiy xtiy pushiy pciy spiy rlcy ind rrcy ind raly ind rary ind slay ind sray ind srly ind bity 0,ind bity 1,ind bity 2,ind bity 3,ind bity 4,ind bity 5,ind bity 6,ind bity 7,ind resy 0,ind resy 1,ind resy 2,ind resy 3,ind resy 4,ind resy 5,ind resy 6,ind resy 7,ind sety 0,ind sety 1,ind sety 2,ind sety 3,ind sety 4,ind sety 5,ind sety 6,ind sety 7,ind nn ds 2