.text | |
.org 0 | |
;; Game Boy Z80 opcode test | |
nop | |
ld bc,0xbeaf | |
ld (bc),a | |
inc bc | |
inc b | |
dec b | |
ld b,0xfd | |
rlca | |
ld (0xbeaf),sp | |
add hl,bc | |
ld a,(bc) | |
dec bc | |
inc c | |
dec c | |
ld c,0xfd | |
rrca | |
stop | |
ld de,0xbeaf | |
ld (de),a | |
inc de | |
inc d | |
dec d | |
ld d,0xfd | |
rla | |
jr .+12 | |
add hl,de | |
ld a,(de) | |
dec de | |
inc e | |
dec e | |
ld e,0xfd | |
rra | |
jr nz,.+12 | |
ld hl,0xbeaf | |
ldi (hl),a | |
ld (hl+),a | |
inc hl | |
inc h | |
dec h | |
ld h,0xfd | |
daa | |
jr z,.+12 | |
add hl,hl | |
ldi a,(hl) | |
ld a,(hl+) | |
dec hl | |
inc l | |
dec l | |
ld l,0xfd | |
cpl | |
jr nc,.+12 | |
ld sp,0xbeaf | |
ldd (hl),a | |
ld (hl-),a | |
inc sp | |
inc (hl) | |
dec (hl) | |
ld (hl),0xfd | |
scf | |
jr c,.+12 | |
add hl,sp | |
ldd a,(hl) | |
ld a,(hl-) | |
dec sp | |
inc a | |
dec a | |
ld a,0xfd | |
ccf | |
ld b,b | |
ld b,c | |
ld b,d | |
ld b,e | |
ld b,h | |
ld b,l | |
ld b,(hl) | |
ld b,a | |
ld c,b | |
ld c,c | |
ld c,d | |
ld c,e | |
ld c,h | |
ld c,l | |
ld c,(hl) | |
ld c,a | |
ld d,b | |
ld d,c | |
ld d,d | |
ld d,e | |
ld d,h | |
ld d,l | |
ld d,(hl) | |
ld d,a | |
ld e,b | |
ld e,c | |
ld e,d | |
ld e,e | |
ld e,h | |
ld e,l | |
ld e,(hl) | |
ld e,a | |
ld h,b | |
ld h,c | |
ld h,d | |
ld h,e | |
ld h,h | |
ld h,l | |
ld h,(hl) | |
ld h,a | |
ld l,b | |
ld l,c | |
ld l,d | |
ld l,e | |
ld l,h | |
ld l,l | |
ld l,(hl) | |
ld l,a | |
ld (hl),b | |
ld (hl),c | |
ld (hl),d | |
ld (hl),e | |
ld (hl),h | |
ld (hl),l | |
halt | |
ld (hl),a | |
ld a,b | |
ld a,c | |
ld a,d | |
ld a,e | |
ld a,h | |
ld a,l | |
ld a,(hl) | |
ld a,a | |
add a,b | |
add a,c | |
add a,d | |
add a,e | |
add a,h | |
add a,l | |
add a,(hl) | |
add a,a | |
adc a,b | |
adc a,c | |
adc a,d | |
adc a,e | |
adc a,h | |
adc a,l | |
adc a,(hl) | |
adc 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,a | |
sbc a,b | |
sbc a,c | |
sbc a,d | |
sbc a,e | |
sbc a,h | |
sbc a,l | |
sbc a,(hl) | |
sbc a,a | |
and b | |
and c | |
and d | |
and e | |
and h | |
and l | |
and (hl) | |
and a | |
xor b | |
xor c | |
xor d | |
xor e | |
xor h | |
xor l | |
xor (hl) | |
xor a | |
or b | |
or c | |
or d | |
or e | |
or h | |
or l | |
or (hl) | |
or a | |
cp b | |
cp c | |
cp d | |
cp e | |
cp h | |
cp l | |
cp (hl) | |
cp a | |
ret nz | |
pop bc | |
jp nz,0xbeaf | |
jp 0xbeaf | |
call nz,0xbeaf | |
push bc | |
add a,0xfd | |
rst 0 | |
ret z | |
ret | |
jp z,0xbeaf | |
nop ;CB prefix | |
call z,0xbeaf | |
call 0xbeaf | |
adc a,0xfd | |
rst 0x08 | |
ret nc | |
pop de | |
jp nc,0xbeaf | |
;xx | |
call nc,0xbeaf | |
push de | |
sub a,0xfd | |
rst 0x10 | |
ret c | |
reti | |
jp c,0xbeaf | |
;xx | |
call c,0xbeaf | |
;xx | |
sbc a,0xfd | |
rst 0x18 | |
ldh (0xfd),a | |
pop hl | |
ldh (c),a | |
;xx | |
;xx | |
push hl | |
and 0xfd | |
rst 0x20 | |
add sp,-12 | |
jp (hl) | |
ld (0xbeaf),a | |
;xx | |
;xx | |
;xx | |
xor 0xfd | |
rst 0x28 | |
ldh a,(0xfd) | |
pop af | |
ldh a,(c) | |
di | |
;xx | |
push af | |
or 0xfd | |
rst 0x30 | |
ldhl sp,-12 | |
ld sp,hl | |
ld a,(0xbeaf) | |
ei | |
;xx | |
;xx | |
cp 0xfd | |
rst 0x38 | |
rlc b | |
rlc c | |
rlc d | |
rlc e | |
rlc h | |
rlc l | |
rlc (hl) | |
rlc a | |
rrc b | |
rrc c | |
rrc d | |
rrc e | |
rrc h | |
rrc l | |
rrc (hl) | |
rrc a | |
rl b | |
rl c | |
rl d | |
rl e | |
rl h | |
rl l | |
rl (hl) | |
rl a | |
rr b | |
rr c | |
rr d | |
rr e | |
rr h | |
rr l | |
rr (hl) | |
rr a | |
sla b | |
sla c | |
sla d | |
sla e | |
sla h | |
sla l | |
sla (hl) | |
sla a | |
sra b | |
sra c | |
sra d | |
sra e | |
sra h | |
sra l | |
sra (hl) | |
sra a | |
swap b | |
swap c | |
swap d | |
swap e | |
swap h | |
swap l | |
swap (hl) | |
swap a | |
srl b | |
srl c | |
srl d | |
srl e | |
srl h | |
srl l | |
srl (hl) | |
srl a | |
bit 0,b | |
bit 0,c | |
bit 0,d | |
bit 0,e | |
bit 0,h | |
bit 0,l | |
bit 0,(hl) | |
bit 0,a | |
bit 1,b | |
bit 1,c | |
bit 1,d | |
bit 1,e | |
bit 1,h | |
bit 1,l | |
bit 1,(hl) | |
bit 1,a | |
bit 2,b | |
bit 2,c | |
bit 2,d | |
bit 2,e | |
bit 2,h | |
bit 2,l | |
bit 2,(hl) | |
bit 2,a | |
bit 3,b | |
bit 3,c | |
bit 3,d | |
bit 3,e | |
bit 3,h | |
bit 3,l | |
bit 3,(hl) | |
bit 3,a | |
bit 4,b | |
bit 4,c | |
bit 4,d | |
bit 4,e | |
bit 4,h | |
bit 4,l | |
bit 4,(hl) | |
bit 4,a | |
bit 5,b | |
bit 5,c | |
bit 5,d | |
bit 5,e | |
bit 5,h | |
bit 5,l | |
bit 5,(hl) | |
bit 5,a | |
bit 6,b | |
bit 6,c | |
bit 6,d | |
bit 6,e | |
bit 6,h | |
bit 6,l | |
bit 6,(hl) | |
bit 6,a | |
bit 7,b | |
bit 7,c | |
bit 7,d | |
bit 7,e | |
bit 7,h | |
bit 7,l | |
bit 7,(hl) | |
bit 7,a | |
res 0,b | |
res 0,c | |
res 0,d | |
res 0,e | |
res 0,h | |
res 0,l | |
res 0,(hl) | |
res 0,a | |
res 1,b | |
res 1,c | |
res 1,d | |
res 1,e | |
res 1,h | |
res 1,l | |
res 1,(hl) | |
res 1,a | |
res 2,b | |
res 2,c | |
res 2,d | |
res 2,e | |
res 2,h | |
res 2,l | |
res 2,(hl) | |
res 2,a | |
res 3,b | |
res 3,c | |
res 3,d | |
res 3,e | |
res 3,h | |
res 3,l | |
res 3,(hl) | |
res 3,a | |
res 4,b | |
res 4,c | |
res 4,d | |
res 4,e | |
res 4,h | |
res 4,l | |
res 4,(hl) | |
res 4,a | |
res 5,b | |
res 5,c | |
res 5,d | |
res 5,e | |
res 5,h | |
res 5,l | |
res 5,(hl) | |
res 5,a | |
res 6,b | |
res 6,c | |
res 6,d | |
res 6,e | |
res 6,h | |
res 6,l | |
res 6,(hl) | |
res 6,a | |
res 7,b | |
res 7,c | |
res 7,d | |
res 7,e | |
res 7,h | |
res 7,l | |
res 7,(hl) | |
res 7,a | |
set 0,b | |
set 0,c | |
set 0,d | |
set 0,e | |
set 0,h | |
set 0,l | |
set 0,(hl) | |
set 0,a | |
set 1,b | |
set 1,c | |
set 1,d | |
set 1,e | |
set 1,h | |
set 1,l | |
set 1,(hl) | |
set 1,a | |
set 2,b | |
set 2,c | |
set 2,d | |
set 2,e | |
set 2,h | |
set 2,l | |
set 2,(hl) | |
set 2,a | |
set 3,b | |
set 3,c | |
set 3,d | |
set 3,e | |
set 3,h | |
set 3,l | |
set 3,(hl) | |
set 3,a | |
set 4,b | |
set 4,c | |
set 4,d | |
set 4,e | |
set 4,h | |
set 4,l | |
set 4,(hl) | |
set 4,a | |
set 5,b | |
set 5,c | |
set 5,d | |
set 5,e | |
set 5,h | |
set 5,l | |
set 5,(hl) | |
set 5,a | |
set 6,b | |
set 6,c | |
set 6,d | |
set 6,e | |
set 6,h | |
set 6,l | |
set 6,(hl) | |
set 6,a | |
set 7,b | |
set 7,c | |
set 7,d | |
set 7,e | |
set 7,h | |
set 7,l | |
set 7,(hl) | |
set 7,a |