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:
Antonio Niño Díaz
2017-04-06 22:40:38 +01:00
parent a6a47ff66d
commit dda3a066be
3 changed files with 47 additions and 0 deletions

22
test/link/high-low-a.asm Normal file
View 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
View 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:

View File

@@ -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