blob: 041c10c94c37d313465ae612f274f3f5d1493631 [file] [log] [blame]
.text
.org 0
;; eZ80 instructions
; AND A,x group
and a,a
and a,b
and a,c
and a,d
and a,e
and a,h
and a,l
and a,(hl)
and a,0xaa
and a,(ix+5)
and a,(iy-5)
; CP A,x group
cp a,a
cp a,b
cp a,c
cp a,d
cp a,e
cp a,h
cp a,l
cp a,(hl)
cp a,0xaa
cp a,(ix+5)
cp a,(iy-5)
; OR A,x group
or a,a
or a,b
or a,c
or a,d
or a,e
or a,h
or a,l
or a,(hl)
or a,0xaa
or a,(ix+5)
or a,(iy-5)
; SUB A,x group
sub a,a
sub a,b
sub a,c
sub a,d
sub a,e
sub a,h
sub a,l
sub a,(hl)
sub a,0xaa
sub a,(ix+5)
sub a,(iy-5)
; TST A,x group
tst a,a
tst a,b
tst a,c
tst a,d
tst a,e
tst a,h
tst a,l
tst a,(hl)
tst a,0x0f
; XOR A,x group
xor a,a
xor a,b
xor a,c
xor a,d
xor a,e
xor a,h
xor a,l
xor a,(hl)
xor a,0xaa
xor a,(ix+5)
xor a,(iy-5)
; IN r,(BC) group (new naming)
in a,(bc)
in b,(bc)
in c,(bc)
in d,(bc)
in e,(bc)
in h,(bc)
in l,(bc)
; OUT (BC),r group (new naming)
out (bc),a
out (bc),b
out (bc),c
out (bc),d
out (bc),e
out (bc),h
out (bc),l
; LD rr,(ii+d) group
ld bc,(ix-7)
ld de,(ix-7)
ld hl,(ix-7)
ld ix,(ix-7)
ld iy,(ix-7)
ld bc,(iy+38)
ld de,(iy+38)
ld hl,(iy+38)
ld ix,(iy+38)
ld iy,(iy+38)
; LD (ii+d),rr group
ld (ix+126),bc
ld (ix+126),de
ld (ix+126),hl
ld (ix+126),ix
ld (ix+126),iy
ld (iy-98),bc
ld (iy-98),de
ld (iy-98),hl
ld (iy-98),ix
ld (iy-98),iy
; LEA rr,ii+d group
lea bc,ix-27
lea de,ix-27
lea hl,ix-27
lea ix,ix-27
lea iy,ix-27
lea bc,iy+12
lea de,iy+12
lea hl,iy+12
lea ix,iy+12
lea iy,iy+12
; PEA ii+d group
pea ix+127
pea iy-128
; IN0 group
in0 a,(0x5)
in0 b,(0x5)
in0 c,(0x5)
in0 d,(0x5)
in0 e,(0x5)
in0 h,(0x5)
in0 l,(0x5)
; OUT0 group
out0 (0x5),a
out0 (0x5),b
out0 (0x5),c
out0 (0x5),d
out0 (0x5),e
out0 (0x5),h
out0 (0x5),l
; MLT group
mlt bc
mlt de
mlt hl
mlt sp
; TSTIO instruction
tstio 0f0h
; SLP instruction
slp
; ADLMIX flag manipulation instructions
stmix
rsmix
; Additional block I/O instructions
inim
otim
ini2
indm
otdm
ind2
inimr
otimr
ini2r
indmr
otdmr
ind2r
outi2
outd2
oti2r
otd2r
inirx
otirx
indrx
otdrx
; Index registers halves
ld a,ixh
ld b,ixh
ld c,ixh
ld d,ixh
ld e,ixh
ld ixh,ixh
ld ixl,ixh
ld a,ixl
ld b,ixl
ld c,ixl
ld d,ixl
ld e,ixl
ld ixh,ixl
ld ixl,ixl
ld a,iyh
ld b,iyh
ld c,iyh
ld d,iyh
ld e,iyh
ld iyh,iyh
ld iyl,iyh
ld a,iyl
ld b,iyl
ld c,iyl
ld d,iyl
ld e,iyl
ld iyh,iyl
ld iyl,iyl
ld ixh,a
ld ixh,b
ld ixh,c
ld ixh,d
ld ixh,e
ld ixh,ixh
ld ixh,ixl
ld ixh,25
ld ixl,a
ld ixl,b
ld ixl,c
ld ixl,d
ld ixl,e
ld ixl,ixh
ld ixl,ixl
ld ixl,25
ld iyh,a
ld iyh,b
ld iyh,c
ld iyh,d
ld iyh,e
ld iyh,iyh
ld iyh,iyl
ld iyh,25
ld iyl,a
ld iyl,b
ld iyl,c
ld iyl,d
ld iyl,e
ld iyl,iyh
ld iyl,iyl
ld iyl,25
add a,ixh
add a,ixl
add a,iyh
add a,iyl
adc a,ixh
adc a,ixl
adc a,iyh
adc a,iyl
cp a,ixh
cp a,ixl
cp a,iyh
cp a,iyl
dec ixh
dec ixl
dec iyh
dec iyl
inc ixh
inc ixl
inc iyh
inc iyl
sbc a,ixh
sbc a,ixl
sbc a,iyh
sbc a,iyl
sub a,ixh
sub a,ixl
sub a,iyh
sub a,iyl
and a,ixh
and a,ixl
and a,iyh
and a,iyl
or a,ixh
or a,ixl
or a,iyh
or a,iyl
xor a,ixh
xor a,ixl
xor a,iyh
xor a,iyl
; Special ADL mode only instructions
ld i,hl
ld hl,i
ld mb,a
ld a,mb
; Standard Z80 instructions
adc a,(hl)
adc a,(ix+9)
adc a,(iy+9)
adc a,3
adc a,a
adc a,b
adc a,c
adc a,d
adc a,e
adc a,h
adc a,l
adc hl,bc
adc hl,de
adc hl,hl
adc hl,sp
add a,(hl)
add a,(ix+9)
add a,(iy+9)
add a,3
add a,a
add a,b
add a,c
add a,d
add a,e
add a,h
add a,l
add hl,bc
add hl,de
add hl,hl
add hl,sp
add ix,bc
add ix,de
add ix,ix
add ix,sp
add iy,bc
add iy,de
add iy,iy
add iy,sp
and (hl)
and (ix+9)
and (iy+9)
and 3
and a
and b
and c
and d
and e
and h
and l
bit 0,(hl)
bit 0,(ix+9)
bit 0,(iy+9)
bit 0,a
bit 0,b
bit 0,c
bit 0,d
bit 0,e
bit 0,h
bit 0,l
bit 1,(hl)
bit 1,(ix+9)
bit 1,(iy+9)
bit 1,a
bit 1,b
bit 1,c
bit 1,d
bit 1,e
bit 1,h
bit 1,l
bit 2,(hl)
bit 2,(ix+9)
bit 2,(iy+9)
bit 2,a
bit 2,b
bit 2,c
bit 2,d
bit 2,e
bit 2,h
bit 2,l
bit 3,(hl)
bit 3,(ix+9)
bit 3,(iy+9)
bit 3,a
bit 3,b
bit 3,c
bit 3,d
bit 3,e
bit 3,h
bit 3,l
bit 4,(hl)
bit 4,(ix+9)
bit 4,(iy+9)
bit 4,a
bit 4,b
bit 4,c
bit 4,d
bit 4,e
bit 4,h
bit 4,l
bit 5,(hl)
bit 5,(ix+9)
bit 5,(iy+9)
bit 5,a
bit 5,b
bit 5,c
bit 5,d
bit 5,e
bit 5,h
bit 5,l
bit 6,(hl)
bit 6,(ix+9)
bit 6,(iy+9)
bit 6,a
bit 6,b
bit 6,c
bit 6,d
bit 6,e
bit 6,h
bit 6,l
bit 7,(hl)
bit 7,(ix+9)
bit 7,(iy+9)
bit 7,a
bit 7,b
bit 7,c
bit 7,d
bit 7,e
bit 7,h
bit 7,l
call 0x123456
call c,0x123456
call m,0x123456
call nc,0x123456
call nz,0x123456
call p,0x123456
call pe,0x123456
call po,0x123456
call z,0x123456
ccf
cp (hl)
cp (ix+9)
cp (iy+9)
cp 03
cp a
cp b
cp c
cp d
cp e
cp h
cp l
cpd
cpdr
cpi
cpir
cpl
daa
dec (hl)
dec (ix+9)
dec (iy+9)
dec a
dec b
dec bc
dec c
dec d
dec de
dec e
dec h
dec hl
dec ix
dec iy
dec l
dec sp
di
djnz .+7
ei
ex (sp),hl
ex (sp),ix
ex (sp),iy
ex af,af' ;'
ex de,hl
exx
halt
im 0
im 1
im 2
in a,(c)
in a,(3)
in b,(c)
in c,(c)
in d,(c)
in e,(c)
in h,(c)
in l,(c)
inc (hl)
inc (ix+9)
inc (iy+9)
inc a
inc b
inc bc
inc c
inc d
inc de
inc e
inc h
inc hl
inc ix
inc iy
inc l
inc sp
ind
indr
ini
inir
jp (hl)
jp (ix)
jp (iy)
jp 0x123456
jp c,0x123456
jp m,0x123456
jp nc,0x123456
jp nz,0x123456
jp p,0x123456
jp pe,0x123456
jp po,0x123456
jp z,0x123456
jr .+7
jr c,.+7
jr nc,.+7
jr nz,.+7
jr z,.+7
ld (0x123456),a
ld (0x123456),bc
ld (0x123456),de
ld (0x123456),hl
ld (0x123456),ix
ld (0x123456),iy
ld (0x123456),sp
ld (bc),a
ld (de),a
ld (hl),3
ld (hl),a
ld (hl),b
ld (hl),c
ld (hl),d
ld (hl),e
ld (hl),h
ld (hl),l
ld (ix+9),3
ld (ix+9),a
ld (ix+9),b
ld (ix+9),c
ld (ix+9),d
ld (ix+9),e
ld (ix+9),h
ld (ix+9),l
ld (iy+9),3
ld (iy+9),a
ld (iy+9),b
ld (iy+9),c
ld (iy+9),d
ld (iy+9),e
ld (iy+9),h
ld (iy+9),l
ld a,(0x123456)
ld a,(bc)
ld a,(de)
ld a,(hl)
ld a,(ix+9)
ld a,(iy+9)
ld a,3
ld a,a
ld a,b
ld a,c
ld a,d
ld a,e
ld a,h
ld a,i
ld a,l
ld a,r
ld b,(hl)
ld b,(ix+9)
ld b,(iy+9)
ld b,3
ld b,a
nop ;ld b,b
ld b,c
ld b,d
ld b,e
ld b,h
ld b,l
ld bc,(0x123456)
ld bc,0x123456
ld c,(hl)
ld c,(ix+9)
ld c,(iy+9)
ld c,3
ld c,a
ld c,b
nop ;ld c,c
ld c,d
ld c,e
ld c,h
ld c,l
ld d,(hl)
ld d,(ix+9)
ld d,(iy+9)
ld d,3
ld d,a
ld d,b
ld d,c
nop ;ld d,d
ld d,e
ld d,h
ld d,l
ld de,(0x123456)
ld de,0x123456
ld e,(hl)
ld e,(ix+9)
ld e,(iy+9)
ld e,3
ld e,a
ld e,b
ld e,c
ld e,d
nop ;ld e,e
ld e,h
ld e,l
ld h,(hl)
ld h,(ix+9)
ld h,(iy+9)
ld h,3
ld h,a
ld h,b
ld h,c
ld h,d
ld h,e
ld h,h
ld h,l
ld hl,(0x123456)
ld hl,0x123456
ld i,a
ld ix,(0x123456)
ld ix,0x123456
ld iy,(0x123456)
ld iy,0x123456
ld l,(hl)
ld l,(ix+9)
ld l,(iy+9)
ld l,3
ld l,a
ld l,b
ld l,c
ld l,d
ld l,e
ld l,h
ld l,l
ld r,a
ld sp,(0x123456)
ld sp,0x123456
ld sp,hl
ld sp,ix
ld sp,iy
ldd
lddr
ldi
ldir
neg
nop
or (hl)
or (ix+9)
or (iy+9)
or 3
or a
or b
or c
or d
or e
or h
or l
otdr
otir
out (c),a
out (c),b
out (c),c
out (c),d
out (c),e
out (c),h
out (c),l
out (3),a
outd
outi
pop af
pop bc
pop de
pop hl
pop ix
pop iy
push af
push bc
push de
push hl
push ix
push iy
res 0,(hl)
res 0,(ix+9)
res 0,(iy+9)
res 0,a
res 0,b
res 0,c
res 0,d
res 0,e
res 0,h
res 0,l
res 1,(hl)
res 1,(ix+9)
res 1,(iy+9)
res 1,a
res 1,b
res 1,c
res 1,d
res 1,e
res 1,h
res 1,l
res 2,(hl)
res 2,(ix+9)
res 2,(iy+9)
res 2,a
res 2,b
res 2,c
res 2,d
res 2,e
res 2,h
res 2,l
res 3,(hl)
res 3,(ix+9)
res 3,(iy+9)
res 3,a
res 3,b
res 3,c
res 3,d
res 3,e
res 3,h
res 3,l
res 4,(hl)
res 4,(ix+9)
res 4,(iy+9)
res 4,a
res 4,b
res 4,c
res 4,d
res 4,e
res 4,h
res 4,l
res 5,(hl)
res 5,(ix+9)
res 5,(iy+9)
res 5,a
res 5,b
res 5,c
res 5,d
res 5,e
res 5,h
res 5,l
res 6,(hl)
res 6,(ix+9)
res 6,(iy+9)
res 6,a
res 6,b
res 6,c
res 6,d
res 6,e
res 6,h
res 6,l
res 7,(hl)
res 7,(ix+9)
res 7,(iy+9)
res 7,a
res 7,b
res 7,c
res 7,d
res 7,e
res 7,h
res 7,l
ret
ret c
ret m
ret nc
ret nz
ret p
ret pe
ret po
ret z
reti
retn
rl (hl)
rl (ix+9)
rl (iy+9)
rl a
rl b
rl c
rl d
rl e
rl h
rl l
rla
rlc (hl)
rlc (ix+9)
rlc (iy+9)
rlc a
rlc b
rlc c
rlc d
rlc e
rlc h
rlc l
rlca
rld
rr (hl)
rr (ix+9)
rr (iy+9)
rr a
rr b
rr c
rr d
rr e
rr h
rr l
rra
rrc (hl)
rrc (ix+9)
rrc (iy+9)
rrc a
rrc b
rrc c
rrc d
rrc e
rrc h
rrc l
rrca
rrd
rst 0x00
rst 0x08
rst 0x10
rst 0x18
rst 0x20
rst 0x28
rst 0x30
rst 0x38
sbc a,(hl)
sbc a,(ix+9)
sbc a,(iy+9)
sbc a,3
sbc a,a
sbc a,b
sbc a,c
sbc a,d
sbc a,e
sbc a,h
sbc a,l
sbc hl,bc
sbc hl,de
sbc hl,hl
sbc hl,sp
scf
set 0,(hl)
set 0,(ix+9)
set 0,(iy+9)
set 0,a
set 0,b
set 0,c
set 0,d
set 0,e
set 0,h
set 0,l
set 1,(hl)
set 1,(ix+9)
set 1,(iy+9)
set 1,a
set 1,b
set 1,c
set 1,d
set 1,e
set 1,h
set 1,l
set 2,(hl)
set 2,(ix+9)
set 2,(iy+9)
set 2,a
set 2,b
set 2,c
set 2,d
set 2,e
set 2,h
set 2,l
set 3,(hl)
set 3,(ix+9)
set 3,(iy+9)
set 3,a
set 3,b
set 3,c
set 3,d
set 3,e
set 3,h
set 3,l
set 4,(hl)
set 4,(ix+9)
set 4,(iy+9)
set 4,a
set 4,b
set 4,c
set 4,d
set 4,e
set 4,h
set 4,l
set 5,(hl)
set 5,(ix+9)
set 5,(iy+9)
set 5,a
set 5,b
set 5,c
set 5,d
set 5,e
set 5,h
set 5,l
set 6,(hl)
set 6,(ix+9)
set 6,(iy+9)
set 6,a
set 6,b
set 6,c
set 6,d
set 6,e
set 6,h
set 6,l
set 7,(hl)
set 7,(ix+9)
set 7,(iy+9)
set 7,a
set 7,b
set 7,c
set 7,d
set 7,e
set 7,h
set 7,l
sla (hl)
sla (ix+9)
sla (iy+9)
sla a
sla b
sla c
sla d
sla e
sla h
sla l
sra (hl)
sra (ix+9)
sra (iy+9)
sra a
sra b
sra c
sra d
sra e
sra h
sra l
srl (hl)
srl (ix+9)
srl (iy+9)
srl a
srl b
srl c
srl d
srl e
srl h
srl l
sub (hl)
sub (ix+9)
sub (iy+9)
sub 3
sub a
sub b
sub c
sub d
sub e
sub h
sub l
xor (hl)
xor (ix+9)
xor (iy+9)
xor 3
xor a
xor b
xor c
xor d
xor e
xor h
xor l
ld bc,(hl)
ld de,(hl)
ld hl,(hl)
ld ix,(hl)
ld iy,(hl)
ld (hl),bc
ld (hl),de
ld (hl),hl
ld (hl),ix
ld (hl),iy