diff --git a/test/link/high-low-a.asm b/test/link/high-low-a.asm new file mode 100644 index 00000000..91433887 --- /dev/null +++ b/test/link/high-low-a.asm @@ -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: diff --git a/test/link/high-low-b.asm b/test/link/high-low-b.asm new file mode 100644 index 00000000..be55313b --- /dev/null +++ b/test/link/high-low-b.asm @@ -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: diff --git a/test/link/test.sh b/test/link/test.sh index 80cfe0a9..ae2a26b4 100644 --- a/test/link/test.sh +++ b/test/link/test.sh @@ -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