ref: 87fdf0a159cb8574eaecf233293ecdb015dc698c
dir: /as/target/x80/x80.dat/
# Tab 16, tabs 16, :set ts=16 # op args size bytes format cpu .SECTION sym,string? 0 none section Z80,R800,GB80 .TEXT none 0 none text Z80,R800,GB80 .DATA none 0 none data Z80,R800,GB80 .BSS none 0 none bss Z80,R800,GB80 .DB imm8+ 0 none defb Z80,R800,GB80 .DEFB imm8+ 0 none defb Z80,R800,GB80 .BYTE imm8+ 0 none defb Z80,R800,GB80 .DW imm16+ 0 none defw Z80,R800,GB80 .DEFW imm16+ 0 none defw Z80,R800,GB80 .SHORT imm16+ 0 none defw Z80,R800,GB80 .WORD imm16+ 0 none defw Z80,R800,GB80 .DD imm32+ 0 none defd Z80,R800,GB80 .DEFD imm32+ 0 none defd Z80,R800,GB80 .LONG imm32+ 0 none defd Z80,R800,GB80 .INT imm16+ 0 none defd Z80,R800,GB80 .DQ imm64+ 0 none defq Z80,R800,GB80 .DEFQ imm64+ 0 none defq Z80,R800,GB80 .EQU sym,imm16 0 none equ Z80,R800,GB80 .EQU imm16 0 none equ Z80,R800,GB80 = imm16 0 none equ Z80,R800,GB80 .SIZE sym,imm16 0 none size Z80,R800,GB80 .SIZE imm16 0 none size Z80,R800,GB80 .COMM sym,imm16 0 none common Z80,R800,GB80 .COMM imm16 0 none common Z80,R800,GB80 .TYPE sym,imm16 0 none type Z80,R800,GB80 .TYPE imm16 0 none type Z80,R800,GB80 .GLOBL sym+ 0 none global Z80,R800,GB80 .EXTERN sym+ 0 none extrn Z80,R800,GB80 .STRING string+ 0 none string Z80,R800,GB80 .ASCII string+ 0 none ascii Z80,R800,GB80 .ALIGN imm16+ 0 none align Z80,R800,GB80 .END none 0 none end Z80,R800,GB80 # p is any register from B, C, D, E, IXL, IXH, A # q is any register from B, C, D, E, IYL, IYH, A # r is any register from B, C, D, E, L, H, A # dd is any register from BC, DE, HL, SP # qq is any register from BC, DE, HL, AF # pp is any register from BC, DE, IX, SP # rr is any register from BC, DE, IY, SP # cc is any flag from NZ, Z, NC, C, PO, PE, P, M # ss is any flag from C, NC, Z, NZ # 8 bit load group LD r,imm8 2 0x06 r8_imm8 Z80,R800,GB80 LD p,imm8 3 0xdd,0x06 r8_imm8 Z80,R800 LD q,imm8 3 0xfd,0x06 r8_imm8 Z80,R800 LD (HL),imm8 2 0x36 imm8 Z80,R800,GB80 LD r,r 1 0x40 r8_r8 Z80,R800,GB80 LD p,p 2 0xdd,0x40 r8_r8 Z80,R800 LD q,q 2 0xfd,0x40 r8_r8 Z80,R800 LD (HL),r 1 0x70 xx_r8 Z80,R800,GB80 LD r,(HL) 1 0x46 r8_xx Z80,R800,GB80 LD r,(IX+n) 3 0xdd,0x46 r8_idx Z80,R800 LD r,(IY+n) 3 0xfd,0x46 r8_idx Z80,R800 LD (IX+n),r 3 0xdd,0x70 idx_r8 Z80,R800 LD (IY+n),r 3 0xfd,0x70 idx_r8 Z80,R800 LD (HL),imm8 2 0x36 imm8 Z80,R800,GB80 LD (IX+n),imm8 3 0xdd,0x36 idx_imm8 Z80,R800 LD (IY+n),imm8 3 0xfd,0x36 idx_imm8 Z80,R800 LD A,(BC) 1 0x0a noargs Z80,R800,GB80 LD A,(DE) 1 0x1a noargs Z80,R800,GB80 LD A,(n) 3 0x3a dir Z80,R800,GB80 LD (BC),A 1 0x2 noargs Z80,R800,GB80 LD (DE),A 1 0x12 noargs Z80,R800,GB80 LD (n),A 3 0x32 dir Z80,R800,GB80 LD A,I 2 0xed,0x57 noargs Z80,R800 LD A,R 2 0xed,0x57 noargs Z80,R800 LD I,A 2 0xed,0x47 noargs Z80,R800 LD R,A 2 0xed,0x4f noargs Z80,R800 # 16 bit load group LD dd,imm16 3 0x01 r16_imm16 Z80,R800,GB80 LD IX,imm16 4 0xdd,0x21 imm16 Z80,R800 LD IY,imm16 4 0xfd,0x21 imm16 Z80,R800 LD HL,(n) 3 0x2a dir Z80,R800,GB80 LD dd,(n) 4 0xed,0x4b r16_dir Z80,R800 LD IX,(n) 4 0xdd,0x2a dir Z80,R800 LD IY,(n) 4 0xfd,0x2a dir Z80,R800 LD (n),HL 3 0x22 dir Z80,R800,GB80 LD (n),dd 4 0xdd,0x42 r16_dir Z80,R800 LD (n),IX 4 0xdd,0x22 dir Z80,R800 LD (n),IY 4 0xfd,0x22 dir Z80,R800 LD SP,HL 1 0xf9 noargs Z80,R800,GB80 LD SP,IX 2 0xdd,0xf9 noargs Z80,R800 LD SP,IY 2 0xfd,0xf9 noargs Z80,R800 PUSH qq 1 0xc5 r16_xx Z80,R800,GB80 PUSH IX 2 0xdd,0xe5 noargs Z80,R800 PUSH IY 2 0xdd,0xe5 noargs Z80,R800 POP qq 1 0xc1 r16_xx Z80,R800,GB80 POP IX 2 0xdd,0xe1 noargs Z80,R800 POP IY 2 0xfd,0xe1 noargs Z80,R800 # 8 bit ALU group ADD A,r 1 0x80 xx_r8 Z80,R800,GB80 ADD A,p 2 0xdd,0x80 xx_r8 Z80,R800 ADD A,q 2 0xfd,0x80 xx_r8 Z80,R800 ADD A,imm8 2 0xc6 imm8 Z80,R800,GB80 ADD A,(HL) 1 0x86 noargs Z80,R800,GB80 ADD A,(IX+n) 3 0xdd,0x86 idx Z80,R800 ADD A,(IY+n) 3 0xfd,0x86 idx Z80,R800 ADC A,r 1 0x88 xx_r8 Z80,R800,GB80 ADC A,p 2 0xdd,0x88 xx_r8 Z80,R800 ADC A,q 2 0xfd,0x88 xx_r8 Z80,R800 ADC A,imm8 2 0xce imm8 Z80,R800,GB80 ADC A,(HL) 1 0x8e noargs Z80,R800,GB80 ADC A,(IX+n) 3 0xdd,0x8e idx Z80,R800 ADC A,(IY+n) 3 0xfd,0x8e idx Z80,R800 SUB A,r 1 0x90 xx_r8 Z80,R800,GB80 SUB A,p 2 0xdd,0x90 xx_r8 Z80,R800 SUB A,q 2 0xfd,0x90 xx_r8 Z80,R800 SUB A,imm8 2 0xd6 imm8 Z80,R800,GB80 SUB A,(HL) 1 0x96 noargs Z80,R800,GB80 SUB A,(IX+n) 3 0xdd,0x96 idx Z80,R800 SUB A,(IY+n) 3 0xfd,0x96 idx Z80,R800 SBC A,r 1 0x98 xx_r8 Z80,R800,GB80 SBC A,p 2 0xdd,0x98 xx_r8 Z80,R800 SBC A,q 2 0xfd,0x98 xx_r8 Z80,R800 SBC A,imm8 2 0xde imm8 Z80,R800,GB80 SBC A,(HL) 1 0x9e noargs Z80,R800,GB80 SBC A,(IX+n) 3 0xdd,0x9e idx Z80,R800 SBC A,(IY+n) 3 0xfd,0x9e idx Z80,R800 AND A,r 1 0xa0 xx_r8 Z80,R800,GB80 AND A,p 2 0xdd,0xa0 xx_r8 Z80,R800 AND A,q 2 0xfd,0xa0 xx_r8 Z80,R800 AND A,imm8 2 0xe5 imm8 Z80,R800,GB80 AND A,(HL) 1 0xa6 noargs Z80,R800,GB80 AND A,(IX+n) 3 0xdd,0xa6 idx Z80,R800 AND A,(IY+n) 3 0xfd,0xa6 idx Z80,R800 OR A,r 1 0xb0 xx_r8 Z80,R800,GB80 OR A,p 2 0xdd,0xb0 xx_r8 Z80,R800 OR A,q 2 0xfd,0xb0 xx_r8 Z80,R800 OR A,imm8 2 0xf6 imm8 Z80,R800,GB80 OR A,(HL) 1 0xb6 noargs Z80,R800,GB80 OR A,(IX+n) 3 0xdd,0xb6 idx Z80,R800 OR A,(IY+n) 3 0xfd,0xb6 idx Z80,R800 XOR A,r 1 0xa8 xx_r8 Z80,R800,GB80 XOR A,p 2 0xdd,0xa8 xx_r8 Z80,R800 XOR A,q 2 0xfd,0xa8 xx_r8 Z80,R800 XOR A,imm8 2 0xe6 imm8 Z80,R800,GB80 XOR A,(HL) 1 0xa6 noargs Z80,R800,GB80 XOR A,(IX+n) 3 0xdd,0xa6 idx Z80,R800 XOR A,(IY+n) 3 0xfd,0xa6 idx Z80,R800 CP A,r 1 0xb8 xx_r8 Z80,R800,GB80 CP A,p 2 0xdd,0xb8 xx_r8 Z80,R800 CP A,q 2 0xfd,0xb8 xx_r8 Z80,R800 CP A,imm8 2 0xfe imm8 Z80,R800,GB80 CP A,(HL) 1 0xbe noargs Z80,R800,GB80 CP A,(IX+n) 3 0xdd,0xbe idx Z80,R800 CP A,(IY+n) 3 0xfd,0xbe idx Z80,R800 INC r 1 0x04 r8_xx Z80,R800,GB80 INC p 2 0xdd,0x04 r8_xx Z80,R800 INC q 2 0xfd,0x04 r8_xx Z80,R800 INC (HL) 1 0x34 noargs Z80,R800,GB80 INC (IX+n) 3 0xdd,0x34 idx Z80,R800 INC (IY+n) 3 0xfd,0x34 idx Z80,R800 DEC r 1 0x05 r8_xx Z80,R800,GB80 DEC p 2 0xdd,0x05 r8_xx Z80,R800 DEC q 2 0xfd,0x05 r8_xx Z80,R800 DEC (HL) 1 0x35 noargs Z80,R800,GB80 DEC (IX+n) 3 0xdd,0x35 idx Z80,R800 DEC (IY+n) 3 0xfd,0x35 idx Z80,R800 # 16 bit ALU group ADD HL,dd 1 0x09 xx_r16 Z80,R800,GB80 ADC HL,dd 2 0xed,0x4a xx_r16 Z80,R800 SBC HL,dd 2 0xed,0x42 xx_r16 Z80,R800 ADD IX,pp 2 0xdd,0x09 xx_r16 Z80,R800 ADD IY,rr 2 0xfd,0x09 xx_r16 Z80,R800 INC dd 1 0x03 r16_xx Z80,R800,GB80 INC IX 2 0xdd,0x23 noargs Z80,R800 INC IY 2 0xfd,0x23 noargs Z80,R800 DEC dd 1 0x0b r16_xx Z80,R800,GB80 DEC IX 2 0xdd,0x2b noargs Z80,R800 DEC IY 2 0xfd,0x2b noargs Z80,R800 # General purpose arithmetic and CPU control group DAA none 1 0x27 noargs Z80,R800,GB80 CPL none 1 0x2f noargs Z80,R800,GB80 NEG none 2 0xed,0x44 noargs Z80,R800 CCF none 1 0x3f noargs Z80,R800,GB80 SCF none 1 0x37 noargs Z80,R800,GB80 NOP none 1 0x00 noargs Z80,R800,GB80 HALT none 1 0x76 noargs Z80,R800,GB80 DI none 1 0xf3 noargs Z80,R800,GB80 EI none 1 0xfb noargs Z80,R800,GB80 IM imm8 2 0xed im Z80,R800 # Exchange, block transfer and search groups EX DE,HL 1 0xeb noargs Z80,R800 EX AF,AF' 1 0x08 noargs Z80,R800 EXX none 1 0xd9 noargs Z80,R800 EX (SP),HL 1 0xe3 noargs Z80,R800 EX (SP),IX 2 0xdd,0xe3 noargs Z80,R800 EX (SP),IY 2 0xfd,0xe3 noargs Z80,R800 LDI none 2 0xed,0xa0 noargs Z80,R800 LDIR none 2 0xed,0xb0 noargs Z80,R800 LDD none 2 0xed,0xa8 noargs Z80,R800 LDDR none 2 0xed,0xb8 noargs Z80,R800 CPI none 2 0xed,0xa1 noargs Z80,R800 CPIR none 2 0xed,0xb1 noargs Z80,R800 CPD none 2 0xed,0xa9 noargs Z80,R800 CPDR none 2 0xed,0xb9 noargs Z80,R800 # Rotate and shift group RLCA none 1 0x07 noargs Z80,R800,GB80 RLA none 1 0x17 noargs Z80,R800,GB80 RRCA none 1 0x0f noargs Z80,R800,GB80 RRA none 1 0x1f noargs Z80,R800,GB80 RLD none 2 0xed,0x6f noargs Z80,R800 RRD none 2 0xed,0x67 noargs Z80,R800 RLC r 2 0xcb,0x00 r8_xx Z80,R800 RLC (HL) 2 0xcb,0x06 noargs Z80,R800 RLC (IX+n) 4 0xdd,0xcb,0x06 idx Z80,R800 RLC (IY+n) 4 0xfd,0xcb,0x06 idx Z80,R800 RLC (IX+n),r 4 0xdd,0xcb,0,0x00 idx_r8 Z80,R800 RLC (IY+n),r 4 0xfd,0xcb,0,0x00 idx_r8 Z80,R800 RL r 2 0xcb,0x10 r8_xx Z80,R800 RL (HL) 2 0xcb,0x16 noargs Z80,R800 RL (IX+n) 4 0xdd,0xcb,0x16 idx Z80,R800 RL (IY+n) 4 0xfd,0xcb,0x16 idx Z80,R800 RL (IX+n),r 4 0xdd,0xcb,0,0x10 idx_r8 Z80,R800 RL (IY+n),r 4 0xfd,0xcb,0,0x10 idx_r8 Z80,R800 RRC r 2 0xcb,0x08 r8_xx Z80,R800 RRC (HL) 2 0xcb,0x06 noargs Z80,R800 RRC (IX+n) 4 0xdd,0xcb,0x06 idx Z80,R800 RRC (IY+n) 4 0xfd,0xcb,0x06 idx Z80,R800 RRC (IX+n),r 4 0xdd,0xcb,0,0x08 idx_r8 Z80,R800 RRC (IY+n),r 4 0xfd,0xcb,0,0x08 idx_r8 Z80,R800 RR r 2 0xcb,0x18 r8_xx Z80,R800 RR (HL) 2 0xcb,0x1e noargs Z80,R800 RR (IX+n) 4 0xdd,0xcb,0x1e idx Z80,R800 RR (IY+n) 4 0xfd,0xcb,0x1e idx Z80,R800 RR (IX+n),r 4 0xdd,0xcb,0,0x18 idx_r8 Z80,R800 RR (IY+n),r 4 0xfd,0xcb,0,0x18 idx_r8 Z80,R800 SLA r 2 0xcb,0x20 r8_xx Z80,R800 SLA (HL) 2 0xcb,0x26 noargs Z80,R800 SLA (IX+n) 4 0xdd,0xcb,0x26 idx Z80,R800 SLA (IY+n) 4 0xfd,0xcb,0x26 idx Z80,R800 SLA (IX+n),r 4 0xdd,0xcb,0,0x20 idx_r8 Z80,R800 SLA (IY+n),r 4 0xfd,0xcb,0,0x20 idx_r8 Z80,R800 SLL r 2 0xcb,0x30 r8_xx Z80 SLL (HL) 2 0xcb,0x36 noargs Z80 SLL (IX+n) 4 0xdd,0xcb,0x36 idx Z80 SLL (IY+n) 4 0xfd,0xcb,0x36 idx Z80 SLL (IX+n),r 4 0xdd,0xcb,0,0x30 idx_r8 Z80 SLL (IY+n),r 4 0xfd,0xcb,0,0x30 idx_r8 Z80 SRA r 2 0xcb,0x28 r8_xx Z80,R800 SRA (HL) 2 0xcb,0x2e noargs Z80,R800 SRA (IX+n) 4 0xdd,0xcb,0x2e idx Z80,R800 SRA (IY+n) 4 0xfd,0xcb,0x2e idx Z80,R800 SRA (IX+n),r 4 0xdd,0xcb,0,0x28 idx_r8 Z80,R800 SRA (IY+n),r 4 0xfd,0xcb,0,0x28 idx_r8 Z80,R800 SRL r 2 0xcb,0x38 r8_xx Z80,R800 SRL (HL) 2 0xcb,0x3e noargs Z80,R800 SRL (IX+n) 4 0xdd,0xcb,0x3e idx Z80,R800 SRL (IY+n) 4 0xfd,0xcb,0x3e idx Z80,R800 SRL (IX+n),r 4 0xdd,0xcb,0,0x38 idx_r8 Z80,R800 SRL (IY+n),r 4 0xfd,0xcb,0,0x38 idx_r8 Z80,R800 # Bit manipulation group BIT imm3,r 2 0xcb,0x40 r_bit Z80,R800 BIT imm3,(HL) 2 0xcb,0x46 bit Z80,R800 BIT imm3,(IX+n) 4 0xdd,0xcb,0,0x46 idx_bit Z80,R800 BIT imm3,(IY+n) 4 0xfd,0xcb,0,0x46 idx_bit Z80,R800 SET imm3,r 2 0xcb,0xc0 r_bit Z80,R800 SET imm3,(HL) 2 0xcb,0xc6 bit Z80,R800 SET imm3,(IX+n) 4 0xdd,0xcb,0,0xc6 idx_bit Z80,R800 SET imm3,(IY+n) 4 0xfd,0xcb,0,0xc6 idx_bit Z80,R800 SET imm3,(IX+n),r 4 0xdd,0xcb,0,0xc0 r_idx_bit Z80,R800 SET imm3,(IY+n),r 4 0xfd,0xcb,0,0xc0 r_idx_bit Z80,R800 RES imm3,r 2 0xcb,0x80 r_bit Z80,R800 RES imm3,(HL) 2 0xcb,0x86 bit Z80,R800 RES imm3,(IX+n) 4 0xdd,0xcb,0,0x86 idx_bit Z80,R800 RES imm3,(IY+n) 4 0xfd,0xcb,0,0x86 idx_bit Z80,R800 RES imm3,(IX+n),r 4 0xdd,0xcb,0,0x80 r_idx_bit Z80,R800 RES imm3,(IY+n),r 4 0xfd,0xcb,0,0x80 r_idx_bit Z80,R800 # Input and output group IN A,(n) 2 0xdb imm8 Z80,R800 IN r,(C) 2 0xed,0x40 r8_xx Z80,R800 IN F,(C) 2 0xed,0x70 noargs Z80,R800 INI none 2 0xed,0xa2 noargs Z80,R800 INIR none 2 0xed,0xb2 noargs Z80,R800 IND none 2 0xed,0xaa noargs Z80,R800 INDR none 2 0xed,0xba noargs Z80,R800 OUT (n),A 2 0xd3 imm8 Z80,R800 OUT (C),r 2 0xed,0x41 r8_xx Z80,R800 OUT (C),0 2 0xed,0x71 noargs Z80,R800 OUTI none 2 0xed,0xa3 noargs Z80,R800 OTIR none 2 0xed,0xb3 noargs Z80,R800 OUTD none 2 0xed,0xab noargs Z80,R800 OTDR none 2 0xed,0xbb noargs Z80,R800 # Jump group JP imm16 3 0xc3 imm16 Z80,R800,GB80 JP cc,imm16 3 0xc2 cc_imm16 Z80,R800,GB80 JR imm8 2 0x18 jr Z80,R800,GB80 JR ss,imm8 2 0x00 jr Z80,R800,GB80 JP IY 2 0xfd,0xe9 noargs Z80,R800 DJNZ imm8 2 0x10 jr Z80,R800,GB80 # Call and return group CALL imm16 3 0xcd imm16 Z80,R800,GB80 CALL cc,imm16 3 0xc6 cc_imm16 Z80,R800 RET none 1 0xc9 noargs Z80,R800,GB80 RET cc 1 0xc0 cc Z80,R800 RETI none 2 0xed,0x4d noargs Z80,R800 RETN none 2 0xed,0x45 noargs Z80,R800 RST rst 1 0xc7 rst Z80,R800,GB80