mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
Add test for HIGH() and LOW()
It compares the results of the operators with the expected result if doing the same thing manually. Signed-off-by: Antonio Niño Díaz <antonio_nd@outlook.com>
This commit is contained in:
22
test/link/high-low-a.asm
Normal file
22
test/link/high-low-a.asm
Normal file
@@ -0,0 +1,22 @@
|
||||
ldhilo : MACRO
|
||||
ld HIGH(\1),LOW(\2)
|
||||
ENDM
|
||||
|
||||
SECTION "r0", ROM0[$0]
|
||||
ld HIGH(af),a
|
||||
ld HIGH(bc),LOW(bc)
|
||||
ld LOW(bc),HIGH(bc)
|
||||
ld HIGH(de),LOW(de)
|
||||
ld LOW(de),HIGH(de)
|
||||
ldhilo hl, hl
|
||||
ld LOW(hl),HIGH(hl)
|
||||
|
||||
db HIGH(label+$AB)
|
||||
db LOW(label+$AB)
|
||||
|
||||
db HIGH($1234)
|
||||
db LOW($1234)
|
||||
|
||||
SECTION "o",OAM
|
||||
DS $10
|
||||
label:
|
||||
18
test/link/high-low-b.asm
Normal file
18
test/link/high-low-b.asm
Normal file
@@ -0,0 +1,18 @@
|
||||
SECTION "r0", ROM0[$0]
|
||||
ld a,a
|
||||
ld b,c
|
||||
ld c,b
|
||||
ld d,e
|
||||
ld e,d
|
||||
ld h,l
|
||||
ld l,h
|
||||
|
||||
db ((label+$AB) >> 8) & $FF
|
||||
db (label+$AB) & $FF
|
||||
|
||||
db ($1234 >> 8) & $FF
|
||||
db $1234 & $FF
|
||||
|
||||
SECTION "o",OAM
|
||||
DS $10
|
||||
label:
|
||||
@@ -1,5 +1,6 @@
|
||||
otemp=$(mktemp)
|
||||
gbtemp=$(mktemp)
|
||||
gbtemp2=$(mktemp)
|
||||
outtemp=$(mktemp)
|
||||
|
||||
RGBASM=../../rgbasm
|
||||
@@ -23,4 +24,10 @@ diff romx-tiny-no-t.out $outtemp
|
||||
$RGBLINK -t -o $gbtemp $otemp > $outtemp 2>&1
|
||||
diff romx-tiny-t.out $outtemp
|
||||
|
||||
$RGBASM -o $otemp high-low-a.asm
|
||||
$RGBLINK -o $gbtemp $otemp
|
||||
$RGBASM -o $otemp high-low-b.asm
|
||||
$RGBLINK -o $gbtemp2 $otemp
|
||||
diff $gbtemp $gbtemp2
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user