Skip to content

Commit d6b0326

Browse files
committed
Add test cases for Gameboy
1 parent e5ad7d7 commit d6b0326

File tree

6 files changed

+619
-0
lines changed

6 files changed

+619
-0
lines changed

Tests/Z80/GB Loads/GB Loads.asm

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// Test Gameboy load opcodes, aliases and alternatives
2+
3+
.gb
4+
.create "C:\Repositories\armips\Tests\Z80\GB Loads\output.bin",0
5+
6+
// Load 8-bit immediate
7+
ld a, 0x00
8+
ld a, 0xFF
9+
ld b, 0x00
10+
ld b, 0xFF
11+
ld c, 0x00
12+
ld c, 0xFF
13+
ld d, 0x00
14+
ld d, 0xFF
15+
ld e, 0x00
16+
ld e, 0xFF
17+
ld h, 0x00
18+
ld h, 0xFF
19+
ld l, 0x00
20+
ld l, 0xFF
21+
22+
// Load 16-bit immediate
23+
ld bc, 0x0000
24+
ld bc, 0xFFFF
25+
ld de, 0x0000
26+
ld de, 0xFFFF
27+
ld hl, 0x0000
28+
ld hl, 0xFFFF
29+
ld sp, 0x0000
30+
ld sp, 0xFFFF
31+
32+
// Load and increment
33+
ld (hli), a
34+
ld (hl+), a
35+
ldi (hl), a
36+
ld a, (hli)
37+
ld a, (hl+)
38+
ldi a, (hl)
39+
40+
// Load and decrement
41+
ld (hld), a
42+
ld (hl-), a
43+
ldd (hl), a
44+
ld a, (hld)
45+
ld a, (hl-)
46+
ldd a, (hl)
47+
48+
// Load memory immediate
49+
ld (0x0000), a
50+
ld (0x1234), a
51+
ld (0xFEFF), a
52+
ld a, (0x0000)
53+
ld a, (0x1234)
54+
ld a, (0xFEFF)
55+
56+
// Load high memory immediate
57+
ld (0xFF00), a
58+
ld (0xFF00+0x55), a
59+
ld (0xFF55), a
60+
ldh (0xFF00), a
61+
ldh (0xFF00+0x55), a
62+
ldh (0xFF55), a
63+
ldh (0x55), a
64+
ld a, (0xFF00)
65+
ld a, (0xFF00+0x55)
66+
ld a, (0xFF55)
67+
ldh a, (0xFF00)
68+
ldh a, (0xFF00+0x55)
69+
ldh a, (0xFF55)
70+
ldh a, (0x55)
71+
72+
// Load high memory c
73+
ld (0xFF00+c), a
74+
ld (c), a
75+
ld a, (0xFF00+c)
76+
ld a, (c)
77+
78+
// Load stack pointer
79+
ld hl, sp+0x55
80+
ld hl, sp-0x56
81+
ldhl sp, 0x55
82+
ldhl sp, -0x56
83+
84+
.close

Tests/Z80/GB Loads/expected.bin

122 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)