Skip to content

Commit f44de0c

Browse files
authored
Deprecate LD with [C] (#1574)
1 parent b18cfe6 commit f44de0c

File tree

7 files changed

+29
-12
lines changed

7 files changed

+29
-12
lines changed

man/rgbasm-old.5

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,13 @@ Deprecated in 0.9.0.
260260
.Pp
261261
Instead, use
262262
.Ql LDH .
263+
.Ss LD [C], A and LD A, [C]
264+
Deprecated in 0.9.0.
265+
.Pp
266+
Instead, use
267+
.Ql LDH [C], A
268+
and
269+
.Ql LDH A, [C] .
263270
.Ss rgbasm -i
264271
Deprecated in 0.6.0, removed in 0.8.0.
265272
.Pp

src/asm/parser.y

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2022,6 +2022,7 @@ z80_ld_mem:
20222022

20232023
z80_ld_c_ind:
20242024
Z80_LD c_ind COMMA MODE_A {
2025+
warning(WARNING_OBSOLETE, "LD [C], A is deprecated; use LDH [C], A\n");
20252026
sect_ConstByte(0xE2);
20262027
}
20272028
;
@@ -2054,6 +2055,7 @@ z80_ld_a:
20542055
sect_ConstByte(0x40 | ($2 << 3) | $4);
20552056
}
20562057
| Z80_LD reg_a COMMA c_ind {
2058+
warning(WARNING_OBSOLETE, "LD A, [C] is deprecated; use LDH A, [C]\n");
20572059
sect_ConstByte(0xF2);
20582060
}
20592061
| Z80_LD reg_a COMMA reg_rr {

test/asm/deprecated-ldio.err

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
warning: deprecated-ldio.asm(8): [-Wobsolete]
2+
LD [C], A is deprecated; use LDH [C], A
3+
warning: deprecated-ldio.asm(9): [-Wobsolete]
4+
LD A, [C] is deprecated; use LDH A, [C]
15
warning: deprecated-ldio.asm(13): [-Wobsolete]
26
LDIO is deprecated; use LDH
37
warning: deprecated-ldio.asm(14): [-Wobsolete]
@@ -6,6 +10,10 @@ warning: deprecated-ldio.asm(15): [-Wobsolete]
610
LDIO is deprecated; use LDH
711
warning: deprecated-ldio.asm(16): [-Wobsolete]
812
LDIO is deprecated; use LDH
13+
warning: deprecated-ldio.asm(23): [-Wobsolete]
14+
LD [C], A is deprecated; use LDH [C], A
15+
warning: deprecated-ldio.asm(24): [-Wobsolete]
16+
LD A, [C] is deprecated; use LDH A, [C]
917
warning: deprecated-ldio.asm(28): [-Wobsolete]
1018
LDIO is deprecated; use LDH
1119
warning: deprecated-ldio.asm(29): [-Wobsolete]

test/asm/ff00+c-bad.asm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
SECTION "ff00+c or not to ff00+c", ROMX
33

4-
ld a, [$ff00 + c]
5-
ld [65280 + c], a
4+
ldh a, [$ff00 + c]
5+
ldh [65280 + c], a
66

77
; Not ok
8-
ld a, [$ff01 + c]
9-
ld [xyz + c], a
8+
ldh a, [$ff01 + c]
9+
ldh [xyz + c], a

test/asm/ff00+c.asm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
SECTION "test", ROM0[0]
2-
ld [ $ff00 + c ], a
2+
ldh [ $ff00 + c ], a
33
; 257 spaces exceeds both LEXER_BUF_SIZE (42) and uint8_t limit (255)
4-
ld [ $ff00 + c ], a
5-
ld [ $ff00 + c ], a
4+
ldh [ $ff00 + c ], a
5+
ldh [ $ff00 + c ], a

test/asm/invalid-instructions.asm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
SECTION "invalid", ROM0[$10000]
22
ld [hl], [hl]
3-
ld a, [$00ff+c]
3+
ldh a, [$00ff+c]
44
ld b, [c]
55
ld b, [bc]
66
ld b, [$4000]

test/link/all-instructions.asm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,17 +154,17 @@ ENDM
154154
ld [hl],a
155155
ld [$ABCD],a
156156
ldh [$ff00+$DB],a
157-
ld [$ff00+c],a
158-
ld [$ff00 + c],a
157+
ldh [$ff00+c],a
158+
ldh [$ff00 + c],a
159159
ldh [c],a
160160

161161
ld a,[bc]
162162
ld a,[de]
163163
ld a,[hl]
164164
ld a,[$ABCD]
165165
ldh a,[$ff00+$DB]
166-
ld a,[$ff00+c]
167-
ld a,[$ff00 + c]
166+
ldh a,[$ff00+c]
167+
ldh a,[$ff00 + c]
168168
ldh a,[c]
169169

170170
ld [hl+],a

0 commit comments

Comments
 (0)