Add new tests for z80

This commit is contained in:
Arnold Metselaar 2008-09-14 14:04:00 +00:00
parent d04117369b
commit c3229d3803
18 changed files with 1581 additions and 0 deletions

View file

@ -1,3 +1,15 @@
2008-09-14 Arnold Metselaar <arnold.metselaar@planet.nl>
* gas/z80/ld-group.s, gas/z80/ld-group.d: New test.
* gas/z80/block.s, gas/z80/block.d: New test
* gas/z80/arith.s, gas/z80/arith.d: New test
* gas/z80/rotate.s, gas/z80/rotate.d: New test
* gas/z80/bit.s, gas/z80/bit.d: New test
* gas/z80/branch.s, gas/z80/branch.d: New test
* gas/z80/inout.s, gas/z80/inout.d: New test
* gas/z80/misc.s, gas/z80/misc.d: New test
* gas/z80/z80.exp: Run them.
2008-09-11 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/sse2avx.s: Remove pclmulXXX tests. Add tests for

View file

@ -0,0 +1,149 @@
#objdump: -d
#name: arithmetic and logic
.*: .*
Disassembly of section .text:
0+ <.text>:
[ ]+[0-9a-f]+:[ ]+87[ ]+add a,a
[ ]+[0-9a-f]+:[ ]+80[ ]+add a,b
[ ]+[0-9a-f]+:[ ]+81[ ]+add a,c
[ ]+[0-9a-f]+:[ ]+82[ ]+add a,d
[ ]+[0-9a-f]+:[ ]+83[ ]+add a,e
[ ]+[0-9a-f]+:[ ]+84[ ]+add a,h
[ ]+[0-9a-f]+:[ ]+85[ ]+add a,l
[ ]+[0-9a-f]+:[ ]+86[ ]+add a,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd 86 05[ ]+add a,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd 86 05[ ]+add a,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+c6 11[ ]+add a,0x11
[ ]+[0-9a-f]+:[ ]+8f[ ]+adc a,a
[ ]+[0-9a-f]+:[ ]+88[ ]+adc a,b
[ ]+[0-9a-f]+:[ ]+89[ ]+adc a,c
[ ]+[0-9a-f]+:[ ]+8a[ ]+adc a,d
[ ]+[0-9a-f]+:[ ]+8b[ ]+adc a,e
[ ]+[0-9a-f]+:[ ]+8c[ ]+adc a,h
[ ]+[0-9a-f]+:[ ]+8d[ ]+adc a,l
[ ]+[0-9a-f]+:[ ]+8e[ ]+adc a,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd 8e 05[ ]+adc a,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd 8e 05[ ]+adc a,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+ce 11[ ]+adc a,0x11
[ ]+[0-9a-f]+:[ ]+97[ ]+sub a
[ ]+[0-9a-f]+:[ ]+90[ ]+sub b
[ ]+[0-9a-f]+:[ ]+91[ ]+sub c
[ ]+[0-9a-f]+:[ ]+92[ ]+sub d
[ ]+[0-9a-f]+:[ ]+93[ ]+sub e
[ ]+[0-9a-f]+:[ ]+94[ ]+sub h
[ ]+[0-9a-f]+:[ ]+95[ ]+sub l
[ ]+[0-9a-f]+:[ ]+96[ ]+sub \(hl\)
[ ]+[0-9a-f]+:[ ]+dd 96 05[ ]+sub \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd 96 05[ ]+sub \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+d6 11[ ]+sub 0x11
[ ]+[0-9a-f]+:[ ]+9f[ ]+sbc a,a
[ ]+[0-9a-f]+:[ ]+98[ ]+sbc a,b
[ ]+[0-9a-f]+:[ ]+99[ ]+sbc a,c
[ ]+[0-9a-f]+:[ ]+9a[ ]+sbc a,d
[ ]+[0-9a-f]+:[ ]+9b[ ]+sbc a,e
[ ]+[0-9a-f]+:[ ]+9c[ ]+sbc a,h
[ ]+[0-9a-f]+:[ ]+9d[ ]+sbc a,l
[ ]+[0-9a-f]+:[ ]+9e[ ]+sbc a,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd 9e 05[ ]+sbc a,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd 9e 05[ ]+sbc a,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+de 11[ ]+sbc a,0x11
[ ]+[0-9a-f]+:[ ]+a7[ ]+and a
[ ]+[0-9a-f]+:[ ]+a0[ ]+and b
[ ]+[0-9a-f]+:[ ]+a1[ ]+and c
[ ]+[0-9a-f]+:[ ]+a2[ ]+and d
[ ]+[0-9a-f]+:[ ]+a3[ ]+and e
[ ]+[0-9a-f]+:[ ]+a4[ ]+and h
[ ]+[0-9a-f]+:[ ]+a5[ ]+and l
[ ]+[0-9a-f]+:[ ]+a6[ ]+and \(hl\)
[ ]+[0-9a-f]+:[ ]+dd a6 05[ ]+and \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd a6 05[ ]+and \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+e6 11[ ]+and 0x11
[ ]+[0-9a-f]+:[ ]+af[ ]+xor a
[ ]+[0-9a-f]+:[ ]+a8[ ]+xor b
[ ]+[0-9a-f]+:[ ]+a9[ ]+xor c
[ ]+[0-9a-f]+:[ ]+aa[ ]+xor d
[ ]+[0-9a-f]+:[ ]+ab[ ]+xor e
[ ]+[0-9a-f]+:[ ]+ac[ ]+xor h
[ ]+[0-9a-f]+:[ ]+ad[ ]+xor l
[ ]+[0-9a-f]+:[ ]+ae[ ]+xor \(hl\)
[ ]+[0-9a-f]+:[ ]+dd ae 05[ ]+xor \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd ae 05[ ]+xor \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+ee 11[ ]+xor 0x11
[ ]+[0-9a-f]+:[ ]+b7[ ]+or a
[ ]+[0-9a-f]+:[ ]+b0[ ]+or b
[ ]+[0-9a-f]+:[ ]+b1[ ]+or c
[ ]+[0-9a-f]+:[ ]+b2[ ]+or d
[ ]+[0-9a-f]+:[ ]+b3[ ]+or e
[ ]+[0-9a-f]+:[ ]+b4[ ]+or h
[ ]+[0-9a-f]+:[ ]+b5[ ]+or l
[ ]+[0-9a-f]+:[ ]+b6[ ]+or \(hl\)
[ ]+[0-9a-f]+:[ ]+dd b6 05[ ]+or \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd b6 05[ ]+or \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+f6 11[ ]+or 0x11
[ ]+[0-9a-f]+:[ ]+bf[ ]+cp a
[ ]+[0-9a-f]+:[ ]+b8[ ]+cp b
[ ]+[0-9a-f]+:[ ]+b9[ ]+cp c
[ ]+[0-9a-f]+:[ ]+ba[ ]+cp d
[ ]+[0-9a-f]+:[ ]+bb[ ]+cp e
[ ]+[0-9a-f]+:[ ]+bc[ ]+cp h
[ ]+[0-9a-f]+:[ ]+bd[ ]+cp l
[ ]+[0-9a-f]+:[ ]+be[ ]+cp \(hl\)
[ ]+[0-9a-f]+:[ ]+dd be 05[ ]+cp \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd be 05[ ]+cp \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+fe 11[ ]+cp 0x11
[ ]+[0-9a-f]+:[ ]+3c[ ]+inc a
[ ]+[0-9a-f]+:[ ]+04[ ]+inc b
[ ]+[0-9a-f]+:[ ]+0c[ ]+inc c
[ ]+[0-9a-f]+:[ ]+14[ ]+inc d
[ ]+[0-9a-f]+:[ ]+1c[ ]+inc e
[ ]+[0-9a-f]+:[ ]+24[ ]+inc h
[ ]+[0-9a-f]+:[ ]+2c[ ]+inc l
[ ]+[0-9a-f]+:[ ]+34[ ]+inc \(hl\)
[ ]+[0-9a-f]+:[ ]+dd 34 05[ ]+inc \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd 34 05[ ]+inc \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+3d[ ]+dec a
[ ]+[0-9a-f]+:[ ]+05[ ]+dec b
[ ]+[0-9a-f]+:[ ]+0d[ ]+dec c
[ ]+[0-9a-f]+:[ ]+15[ ]+dec d
[ ]+[0-9a-f]+:[ ]+1d[ ]+dec e
[ ]+[0-9a-f]+:[ ]+25[ ]+dec h
[ ]+[0-9a-f]+:[ ]+2d[ ]+dec l
[ ]+[0-9a-f]+:[ ]+35[ ]+dec \(hl\)
[ ]+[0-9a-f]+:[ ]+dd 35 05[ ]+dec \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd 35 05[ ]+dec \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+09[ ]+add hl,bc
[ ]+[0-9a-f]+:[ ]+19[ ]+add hl,de
[ ]+[0-9a-f]+:[ ]+29[ ]+add hl,hl
[ ]+[0-9a-f]+:[ ]+39[ ]+add hl,sp
[ ]+[0-9a-f]+:[ ]+dd 09[ ]+add ix,bc
[ ]+[0-9a-f]+:[ ]+dd 19[ ]+add ix,de
[ ]+[0-9a-f]+:[ ]+dd 29[ ]+add ix,ix
[ ]+[0-9a-f]+:[ ]+dd 39[ ]+add ix,sp
[ ]+[0-9a-f]+:[ ]+fd 09[ ]+add iy,bc
[ ]+[0-9a-f]+:[ ]+fd 19[ ]+add iy,de
[ ]+[0-9a-f]+:[ ]+fd 29[ ]+add iy,iy
[ ]+[0-9a-f]+:[ ]+fd 39[ ]+add iy,sp
[ ]+[0-9a-f]+:[ ]+ed 4a[ ]+adc hl,bc
[ ]+[0-9a-f]+:[ ]+ed 5a[ ]+adc hl,de
[ ]+[0-9a-f]+:[ ]+ed 6a[ ]+adc hl,hl
[ ]+[0-9a-f]+:[ ]+ed 7a[ ]+adc hl,sp
[ ]+[0-9a-f]+:[ ]+ed 42[ ]+sbc hl,bc
[ ]+[0-9a-f]+:[ ]+ed 52[ ]+sbc hl,de
[ ]+[0-9a-f]+:[ ]+ed 62[ ]+sbc hl,hl
[ ]+[0-9a-f]+:[ ]+ed 72[ ]+sbc hl,sp
[ ]+[0-9a-f]+:[ ]+03[ ]+inc bc
[ ]+[0-9a-f]+:[ ]+13[ ]+inc de
[ ]+[0-9a-f]+:[ ]+23[ ]+inc hl
[ ]+[0-9a-f]+:[ ]+33[ ]+inc sp
[ ]+[0-9a-f]+:[ ]+dd 23[ ]+inc ix
[ ]+[0-9a-f]+:[ ]+fd 23[ ]+inc iy
[ ]+[0-9a-f]+:[ ]+0b[ ]+dec bc
[ ]+[0-9a-f]+:[ ]+1b[ ]+dec de
[ ]+[0-9a-f]+:[ ]+2b[ ]+dec hl
[ ]+[0-9a-f]+:[ ]+3b[ ]+dec sp
[ ]+[0-9a-f]+:[ ]+dd 2b[ ]+dec ix
[ ]+[0-9a-f]+:[ ]+fd 2b[ ]+dec iy
#pass

View file

@ -0,0 +1,162 @@
.text
.org 0
;;; 8-bit arithmetic and logic
add a,a
add a,b
add a,c
add a,d
add a,e
add a,h
add a,l
add a,(hl)
add a,(ix+5)
add a,(iy+5)
add a,17
adc a,a
adc a,b
adc a,c
adc a,d
adc a,e
adc a,h
adc a,l
adc a,(hl)
adc a,(ix+5)
adc a,(iy+5)
adc a,17
sub a
sub b
sub c
sub d
sub e
sub h
sub l
sub (hl)
sub (ix+5)
sub (iy+5)
sub 17
sbc a,a
sbc a,b
sbc a,c
sbc a,d
sbc a,e
sbc a,h
sbc a,l
sbc a,(hl)
sbc a,(ix+5)
sbc a,(iy+5)
sbc a,17
and a
and b
and c
and d
and e
and h
and l
and (hl)
and (ix+5)
and (iy+5)
and 17
xor a
xor b
xor c
xor d
xor e
xor h
xor l
xor (hl)
xor (ix+5)
xor (iy+5)
xor 17
or a
or b
or c
or d
or e
or h
or l
or (hl)
or (ix+5)
or (iy+5)
or 17
cp a
cp b
cp c
cp d
cp e
cp h
cp l
cp (hl)
cp (ix+5)
cp (iy+5)
cp 17
inc a
inc b
inc c
inc d
inc e
inc h
inc l
inc (hl)
inc (ix+5)
inc (iy+5)
dec a
dec b
dec c
dec d
dec e
dec h
dec l
dec (hl)
dec (ix+5)
dec (iy+5)
;;; 16-bit arithmetic anmd logic
add hl,bc
add hl,de
add hl,hl
add hl,sp
add ix,bc
add ix,de
add ix,ix
add ix,sp
add iy,bc
add iy,de
add iy,iy
add iy,sp
adc hl,bc
adc hl,de
adc hl,hl
adc hl,sp
sbc hl,bc
sbc hl,de
sbc hl,hl
sbc hl,sp
inc bc
inc de
inc hl
inc sp
inc ix
inc iy
dec bc
dec de
dec hl
dec sp
dec ix
dec iy

249
gas/testsuite/gas/z80/bit.d Normal file
View file

@ -0,0 +1,249 @@
#objdump: -d
#name: bit manipulations
.*: .*
Disassembly of section .text:
0+ <.text>:
[ ]+[0-9a-f]+:[ ]+cb 47[ ]+bit 0,a
[ ]+[0-9a-f]+:[ ]+cb 40[ ]+bit 0,b
[ ]+[0-9a-f]+:[ ]+cb 41[ ]+bit 0,c
[ ]+[0-9a-f]+:[ ]+cb 42[ ]+bit 0,d
[ ]+[0-9a-f]+:[ ]+cb 43[ ]+bit 0,e
[ ]+[0-9a-f]+:[ ]+cb 44[ ]+bit 0,h
[ ]+[0-9a-f]+:[ ]+cb 45[ ]+bit 0,l
[ ]+[0-9a-f]+:[ ]+cb 46[ ]+bit 0,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 46[ ]+bit 0,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 46[ ]+bit 0,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 4f[ ]+bit 1,a
[ ]+[0-9a-f]+:[ ]+cb 48[ ]+bit 1,b
[ ]+[0-9a-f]+:[ ]+cb 49[ ]+bit 1,c
[ ]+[0-9a-f]+:[ ]+cb 4a[ ]+bit 1,d
[ ]+[0-9a-f]+:[ ]+cb 4b[ ]+bit 1,e
[ ]+[0-9a-f]+:[ ]+cb 4c[ ]+bit 1,h
[ ]+[0-9a-f]+:[ ]+cb 4d[ ]+bit 1,l
[ ]+[0-9a-f]+:[ ]+cb 4e[ ]+bit 1,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 4e[ ]+bit 1,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 4e[ ]+bit 1,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 57[ ]+bit 2,a
[ ]+[0-9a-f]+:[ ]+cb 50[ ]+bit 2,b
[ ]+[0-9a-f]+:[ ]+cb 51[ ]+bit 2,c
[ ]+[0-9a-f]+:[ ]+cb 52[ ]+bit 2,d
[ ]+[0-9a-f]+:[ ]+cb 53[ ]+bit 2,e
[ ]+[0-9a-f]+:[ ]+cb 54[ ]+bit 2,h
[ ]+[0-9a-f]+:[ ]+cb 55[ ]+bit 2,l
[ ]+[0-9a-f]+:[ ]+cb 56[ ]+bit 2,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 56[ ]+bit 2,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 56[ ]+bit 2,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 5f[ ]+bit 3,a
[ ]+[0-9a-f]+:[ ]+cb 58[ ]+bit 3,b
[ ]+[0-9a-f]+:[ ]+cb 59[ ]+bit 3,c
[ ]+[0-9a-f]+:[ ]+cb 5a[ ]+bit 3,d
[ ]+[0-9a-f]+:[ ]+cb 5b[ ]+bit 3,e
[ ]+[0-9a-f]+:[ ]+cb 5c[ ]+bit 3,h
[ ]+[0-9a-f]+:[ ]+cb 5d[ ]+bit 3,l
[ ]+[0-9a-f]+:[ ]+cb 5e[ ]+bit 3,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 5e[ ]+bit 3,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 5e[ ]+bit 3,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 67[ ]+bit 4,a
[ ]+[0-9a-f]+:[ ]+cb 60[ ]+bit 4,b
[ ]+[0-9a-f]+:[ ]+cb 61[ ]+bit 4,c
[ ]+[0-9a-f]+:[ ]+cb 62[ ]+bit 4,d
[ ]+[0-9a-f]+:[ ]+cb 63[ ]+bit 4,e
[ ]+[0-9a-f]+:[ ]+cb 64[ ]+bit 4,h
[ ]+[0-9a-f]+:[ ]+cb 65[ ]+bit 4,l
[ ]+[0-9a-f]+:[ ]+cb 66[ ]+bit 4,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 66[ ]+bit 4,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 66[ ]+bit 4,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 6f[ ]+bit 5,a
[ ]+[0-9a-f]+:[ ]+cb 68[ ]+bit 5,b
[ ]+[0-9a-f]+:[ ]+cb 69[ ]+bit 5,c
[ ]+[0-9a-f]+:[ ]+cb 6a[ ]+bit 5,d
[ ]+[0-9a-f]+:[ ]+cb 6b[ ]+bit 5,e
[ ]+[0-9a-f]+:[ ]+cb 6c[ ]+bit 5,h
[ ]+[0-9a-f]+:[ ]+cb 6d[ ]+bit 5,l
[ ]+[0-9a-f]+:[ ]+cb 6e[ ]+bit 5,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 6e[ ]+bit 5,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 6e[ ]+bit 5,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 77[ ]+bit 6,a
[ ]+[0-9a-f]+:[ ]+cb 70[ ]+bit 6,b
[ ]+[0-9a-f]+:[ ]+cb 71[ ]+bit 6,c
[ ]+[0-9a-f]+:[ ]+cb 72[ ]+bit 6,d
[ ]+[0-9a-f]+:[ ]+cb 73[ ]+bit 6,e
[ ]+[0-9a-f]+:[ ]+cb 74[ ]+bit 6,h
[ ]+[0-9a-f]+:[ ]+cb 75[ ]+bit 6,l
[ ]+[0-9a-f]+:[ ]+cb 76[ ]+bit 6,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 76[ ]+bit 6,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 76[ ]+bit 6,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 7f[ ]+bit 7,a
[ ]+[0-9a-f]+:[ ]+cb 78[ ]+bit 7,b
[ ]+[0-9a-f]+:[ ]+cb 79[ ]+bit 7,c
[ ]+[0-9a-f]+:[ ]+cb 7a[ ]+bit 7,d
[ ]+[0-9a-f]+:[ ]+cb 7b[ ]+bit 7,e
[ ]+[0-9a-f]+:[ ]+cb 7c[ ]+bit 7,h
[ ]+[0-9a-f]+:[ ]+cb 7d[ ]+bit 7,l
[ ]+[0-9a-f]+:[ ]+cb 7e[ ]+bit 7,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 7e[ ]+bit 7,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 7e[ ]+bit 7,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 87[ ]+res 0,a
[ ]+[0-9a-f]+:[ ]+cb 80[ ]+res 0,b
[ ]+[0-9a-f]+:[ ]+cb 81[ ]+res 0,c
[ ]+[0-9a-f]+:[ ]+cb 82[ ]+res 0,d
[ ]+[0-9a-f]+:[ ]+cb 83[ ]+res 0,e
[ ]+[0-9a-f]+:[ ]+cb 84[ ]+res 0,h
[ ]+[0-9a-f]+:[ ]+cb 85[ ]+res 0,l
[ ]+[0-9a-f]+:[ ]+cb 86[ ]+res 0,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 86[ ]+res 0,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 86[ ]+res 0,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 8f[ ]+res 1,a
[ ]+[0-9a-f]+:[ ]+cb 88[ ]+res 1,b
[ ]+[0-9a-f]+:[ ]+cb 89[ ]+res 1,c
[ ]+[0-9a-f]+:[ ]+cb 8a[ ]+res 1,d
[ ]+[0-9a-f]+:[ ]+cb 8b[ ]+res 1,e
[ ]+[0-9a-f]+:[ ]+cb 8c[ ]+res 1,h
[ ]+[0-9a-f]+:[ ]+cb 8d[ ]+res 1,l
[ ]+[0-9a-f]+:[ ]+cb 8e[ ]+res 1,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 8e[ ]+res 1,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 8e[ ]+res 1,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 97[ ]+res 2,a
[ ]+[0-9a-f]+:[ ]+cb 90[ ]+res 2,b
[ ]+[0-9a-f]+:[ ]+cb 91[ ]+res 2,c
[ ]+[0-9a-f]+:[ ]+cb 92[ ]+res 2,d
[ ]+[0-9a-f]+:[ ]+cb 93[ ]+res 2,e
[ ]+[0-9a-f]+:[ ]+cb 94[ ]+res 2,h
[ ]+[0-9a-f]+:[ ]+cb 95[ ]+res 2,l
[ ]+[0-9a-f]+:[ ]+cb 96[ ]+res 2,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 96[ ]+res 2,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 96[ ]+res 2,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 9f[ ]+res 3,a
[ ]+[0-9a-f]+:[ ]+cb 98[ ]+res 3,b
[ ]+[0-9a-f]+:[ ]+cb 99[ ]+res 3,c
[ ]+[0-9a-f]+:[ ]+cb 9a[ ]+res 3,d
[ ]+[0-9a-f]+:[ ]+cb 9b[ ]+res 3,e
[ ]+[0-9a-f]+:[ ]+cb 9c[ ]+res 3,h
[ ]+[0-9a-f]+:[ ]+cb 9d[ ]+res 3,l
[ ]+[0-9a-f]+:[ ]+cb 9e[ ]+res 3,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 9e[ ]+res 3,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 9e[ ]+res 3,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb a7[ ]+res 4,a
[ ]+[0-9a-f]+:[ ]+cb a0[ ]+res 4,b
[ ]+[0-9a-f]+:[ ]+cb a1[ ]+res 4,c
[ ]+[0-9a-f]+:[ ]+cb a2[ ]+res 4,d
[ ]+[0-9a-f]+:[ ]+cb a3[ ]+res 4,e
[ ]+[0-9a-f]+:[ ]+cb a4[ ]+res 4,h
[ ]+[0-9a-f]+:[ ]+cb a5[ ]+res 4,l
[ ]+[0-9a-f]+:[ ]+cb a6[ ]+res 4,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 a6[ ]+res 4,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 a6[ ]+res 4,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb af[ ]+res 5,a
[ ]+[0-9a-f]+:[ ]+cb a8[ ]+res 5,b
[ ]+[0-9a-f]+:[ ]+cb a9[ ]+res 5,c
[ ]+[0-9a-f]+:[ ]+cb aa[ ]+res 5,d
[ ]+[0-9a-f]+:[ ]+cb ab[ ]+res 5,e
[ ]+[0-9a-f]+:[ ]+cb ac[ ]+res 5,h
[ ]+[0-9a-f]+:[ ]+cb ad[ ]+res 5,l
[ ]+[0-9a-f]+:[ ]+cb ae[ ]+res 5,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 ae[ ]+res 5,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 ae[ ]+res 5,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb b7[ ]+res 6,a
[ ]+[0-9a-f]+:[ ]+cb b0[ ]+res 6,b
[ ]+[0-9a-f]+:[ ]+cb b1[ ]+res 6,c
[ ]+[0-9a-f]+:[ ]+cb b2[ ]+res 6,d
[ ]+[0-9a-f]+:[ ]+cb b3[ ]+res 6,e
[ ]+[0-9a-f]+:[ ]+cb b4[ ]+res 6,h
[ ]+[0-9a-f]+:[ ]+cb b5[ ]+res 6,l
[ ]+[0-9a-f]+:[ ]+cb b6[ ]+res 6,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 b6[ ]+res 6,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 b6[ ]+res 6,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb bf[ ]+res 7,a
[ ]+[0-9a-f]+:[ ]+cb b8[ ]+res 7,b
[ ]+[0-9a-f]+:[ ]+cb b9[ ]+res 7,c
[ ]+[0-9a-f]+:[ ]+cb ba[ ]+res 7,d
[ ]+[0-9a-f]+:[ ]+cb bb[ ]+res 7,e
[ ]+[0-9a-f]+:[ ]+cb bc[ ]+res 7,h
[ ]+[0-9a-f]+:[ ]+cb bd[ ]+res 7,l
[ ]+[0-9a-f]+:[ ]+cb be[ ]+res 7,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 be[ ]+res 7,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 be[ ]+res 7,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb c7[ ]+set 0,a
[ ]+[0-9a-f]+:[ ]+cb c0[ ]+set 0,b
[ ]+[0-9a-f]+:[ ]+cb c1[ ]+set 0,c
[ ]+[0-9a-f]+:[ ]+cb c2[ ]+set 0,d
[ ]+[0-9a-f]+:[ ]+cb c3[ ]+set 0,e
[ ]+[0-9a-f]+:[ ]+cb c4[ ]+set 0,h
[ ]+[0-9a-f]+:[ ]+cb c5[ ]+set 0,l
[ ]+[0-9a-f]+:[ ]+cb c6[ ]+set 0,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 c6[ ]+set 0,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 c6[ ]+set 0,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb cf[ ]+set 1,a
[ ]+[0-9a-f]+:[ ]+cb c8[ ]+set 1,b
[ ]+[0-9a-f]+:[ ]+cb c9[ ]+set 1,c
[ ]+[0-9a-f]+:[ ]+cb ca[ ]+set 1,d
[ ]+[0-9a-f]+:[ ]+cb cb[ ]+set 1,e
[ ]+[0-9a-f]+:[ ]+cb cc[ ]+set 1,h
[ ]+[0-9a-f]+:[ ]+cb cd[ ]+set 1,l
[ ]+[0-9a-f]+:[ ]+cb ce[ ]+set 1,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 ce[ ]+set 1,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 ce[ ]+set 1,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb d7[ ]+set 2,a
[ ]+[0-9a-f]+:[ ]+cb d0[ ]+set 2,b
[ ]+[0-9a-f]+:[ ]+cb d1[ ]+set 2,c
[ ]+[0-9a-f]+:[ ]+cb d2[ ]+set 2,d
[ ]+[0-9a-f]+:[ ]+cb d3[ ]+set 2,e
[ ]+[0-9a-f]+:[ ]+cb d4[ ]+set 2,h
[ ]+[0-9a-f]+:[ ]+cb d5[ ]+set 2,l
[ ]+[0-9a-f]+:[ ]+cb d6[ ]+set 2,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 d6[ ]+set 2,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 d6[ ]+set 2,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb df[ ]+set 3,a
[ ]+[0-9a-f]+:[ ]+cb d8[ ]+set 3,b
[ ]+[0-9a-f]+:[ ]+cb d9[ ]+set 3,c
[ ]+[0-9a-f]+:[ ]+cb da[ ]+set 3,d
[ ]+[0-9a-f]+:[ ]+cb db[ ]+set 3,e
[ ]+[0-9a-f]+:[ ]+cb dc[ ]+set 3,h
[ ]+[0-9a-f]+:[ ]+cb dd[ ]+set 3,l
[ ]+[0-9a-f]+:[ ]+cb de[ ]+set 3,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 de[ ]+set 3,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 de[ ]+set 3,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb e7[ ]+set 4,a
[ ]+[0-9a-f]+:[ ]+cb e0[ ]+set 4,b
[ ]+[0-9a-f]+:[ ]+cb e1[ ]+set 4,c
[ ]+[0-9a-f]+:[ ]+cb e2[ ]+set 4,d
[ ]+[0-9a-f]+:[ ]+cb e3[ ]+set 4,e
[ ]+[0-9a-f]+:[ ]+cb e4[ ]+set 4,h
[ ]+[0-9a-f]+:[ ]+cb e5[ ]+set 4,l
[ ]+[0-9a-f]+:[ ]+cb e6[ ]+set 4,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 e6[ ]+set 4,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 e6[ ]+set 4,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb ef[ ]+set 5,a
[ ]+[0-9a-f]+:[ ]+cb e8[ ]+set 5,b
[ ]+[0-9a-f]+:[ ]+cb e9[ ]+set 5,c
[ ]+[0-9a-f]+:[ ]+cb ea[ ]+set 5,d
[ ]+[0-9a-f]+:[ ]+cb eb[ ]+set 5,e
[ ]+[0-9a-f]+:[ ]+cb ec[ ]+set 5,h
[ ]+[0-9a-f]+:[ ]+cb ed[ ]+set 5,l
[ ]+[0-9a-f]+:[ ]+cb ee[ ]+set 5,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 ee[ ]+set 5,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 ee[ ]+set 5,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb f7[ ]+set 6,a
[ ]+[0-9a-f]+:[ ]+cb f0[ ]+set 6,b
[ ]+[0-9a-f]+:[ ]+cb f1[ ]+set 6,c
[ ]+[0-9a-f]+:[ ]+cb f2[ ]+set 6,d
[ ]+[0-9a-f]+:[ ]+cb f3[ ]+set 6,e
[ ]+[0-9a-f]+:[ ]+cb f4[ ]+set 6,h
[ ]+[0-9a-f]+:[ ]+cb f5[ ]+set 6,l
[ ]+[0-9a-f]+:[ ]+cb f6[ ]+set 6,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 f6[ ]+set 6,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 f6[ ]+set 6,\(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb ff[ ]+set 7,a
[ ]+[0-9a-f]+:[ ]+cb f8[ ]+set 7,b
[ ]+[0-9a-f]+:[ ]+cb f9[ ]+set 7,c
[ ]+[0-9a-f]+:[ ]+cb fa[ ]+set 7,d
[ ]+[0-9a-f]+:[ ]+cb fb[ ]+set 7,e
[ ]+[0-9a-f]+:[ ]+cb fc[ ]+set 7,h
[ ]+[0-9a-f]+:[ ]+cb fd[ ]+set 7,l
[ ]+[0-9a-f]+:[ ]+cb fe[ ]+set 7,\(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 fe[ ]+set 7,\(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 fe[ ]+set 7,\(iy\+5\)

245
gas/testsuite/gas/z80/bit.s Normal file
View file

@ -0,0 +1,245 @@
.text
.org 0
;;; bit manipulation
bit 0,a
bit 0,b
bit 0,c
bit 0,d
bit 0,e
bit 0,h
bit 0,l
bit 0,(hl)
bit 0,(ix+5)
bit 0,(iy+5)
bit 1,a
bit 1,b
bit 1,c
bit 1,d
bit 1,e
bit 1,h
bit 1,l
bit 1,(hl)
bit 1,(ix+5)
bit 1,(iy+5)
bit 2,a
bit 2,b
bit 2,c
bit 2,d
bit 2,e
bit 2,h
bit 2,l
bit 2,(hl)
bit 2,(ix+5)
bit 2,(iy+5)
bit 3,a
bit 3,b
bit 3,c
bit 3,d
bit 3,e
bit 3,h
bit 3,l
bit 3,(hl)
bit 3,(ix+5)
bit 3,(iy+5)
bit 4,a
bit 4,b
bit 4,c
bit 4,d
bit 4,e
bit 4,h
bit 4,l
bit 4,(hl)
bit 4,(ix+5)
bit 4,(iy+5)
bit 5,a
bit 5,b
bit 5,c
bit 5,d
bit 5,e
bit 5,h
bit 5,l
bit 5,(hl)
bit 5,(ix+5)
bit 5,(iy+5)
bit 6,a
bit 6,b
bit 6,c
bit 6,d
bit 6,e
bit 6,h
bit 6,l
bit 6,(hl)
bit 6,(ix+5)
bit 6,(iy+5)
bit 7,a
bit 7,b
bit 7,c
bit 7,d
bit 7,e
bit 7,h
bit 7,l
bit 7,(hl)
bit 7,(ix+5)
bit 7,(iy+5)
res 0,a
res 0,b
res 0,c
res 0,d
res 0,e
res 0,h
res 0,l
res 0,(hl)
res 0,(ix+5)
res 0,(iy+5)
res 1,a
res 1,b
res 1,c
res 1,d
res 1,e
res 1,h
res 1,l
res 1,(hl)
res 1,(ix+5)
res 1,(iy+5)
res 2,a
res 2,b
res 2,c
res 2,d
res 2,e
res 2,h
res 2,l
res 2,(hl)
res 2,(ix+5)
res 2,(iy+5)
res 3,a
res 3,b
res 3,c
res 3,d
res 3,e
res 3,h
res 3,l
res 3,(hl)
res 3,(ix+5)
res 3,(iy+5)
res 4,a
res 4,b
res 4,c
res 4,d
res 4,e
res 4,h
res 4,l
res 4,(hl)
res 4,(ix+5)
res 4,(iy+5)
res 5,a
res 5,b
res 5,c
res 5,d
res 5,e
res 5,h
res 5,l
res 5,(hl)
res 5,(ix+5)
res 5,(iy+5)
res 6,a
res 6,b
res 6,c
res 6,d
res 6,e
res 6,h
res 6,l
res 6,(hl)
res 6,(ix+5)
res 6,(iy+5)
res 7,a
res 7,b
res 7,c
res 7,d
res 7,e
res 7,h
res 7,l
res 7,(hl)
res 7,(ix+5)
res 7,(iy+5)
set 0,a
set 0,b
set 0,c
set 0,d
set 0,e
set 0,h
set 0,l
set 0,(hl)
set 0,(ix+5)
set 0,(iy+5)
set 1,a
set 1,b
set 1,c
set 1,d
set 1,e
set 1,h
set 1,l
set 1,(hl)
set 1,(ix+5)
set 1,(iy+5)
set 2,a
set 2,b
set 2,c
set 2,d
set 2,e
set 2,h
set 2,l
set 2,(hl)
set 2,(ix+5)
set 2,(iy+5)
set 3,a
set 3,b
set 3,c
set 3,d
set 3,e
set 3,h
set 3,l
set 3,(hl)
set 3,(ix+5)
set 3,(iy+5)
set 4,a
set 4,b
set 4,c
set 4,d
set 4,e
set 4,h
set 4,l
set 4,(hl)
set 4,(ix+5)
set 4,(iy+5)
set 5,a
set 5,b
set 5,c
set 5,d
set 5,e
set 5,h
set 5,l
set 5,(hl)
set 5,(ix+5)
set 5,(iy+5)
set 6,a
set 6,b
set 6,c
set 6,d
set 6,e
set 6,h
set 6,l
set 6,(hl)
set 6,(ix+5)
set 6,(iy+5)
set 7,a
set 7,b
set 7,c
set 7,d
set 7,e
set 7,h
set 7,l
set 7,(hl)
set 7,(ix+5)
set 7,(iy+5)

View file

@ -0,0 +1,25 @@
#objdump: -d
#name: block instructions
.*: .*
Disassembly of section .text:
0+ <.text>:
[ ]+0:[ ]+ed a0[ ]+ldi
[ ]+2:[ ]+ed b0[ ]+ldir
[ ]+4:[ ]+ed a8[ ]+ldd
[ ]+6:[ ]+ed b8[ ]+lddr
[ ]+8:[ ]+ed a1[ ]+cpi
[ ]+a:[ ]+ed b1[ ]+cpir
[ ]+c:[ ]+ed a9[ ]+cpd
[ ]+e:[ ]+ed b9[ ]+cpdr
[ ]+10:[ ]+ed a3[ ]+outi
[ ]+12:[ ]+ed b3[ ]+otir
[ ]+14:[ ]+ed ab[ ]+outd
[ ]+16:[ ]+ed bb[ ]+otdr
[ ]+18:[ ]+ed a2[ ]+ini
[ ]+1a:[ ]+ed b2[ ]+inir
[ ]+1c:[ ]+ed aa[ ]+ind
[ ]+1e:[ ]+ed ba[ ]+indr
#pass

View file

@ -0,0 +1,23 @@
.text
.org 0
;;; block instructions
ldi
ldir
ldd
lddr
cpi
cpir
cpd
cpdr
outi
otir
outd
otdr
ini
inir
ind
indr

View file

@ -0,0 +1,54 @@
#objdump: -d
#name: branch instructions
.*: .*
Disassembly of section .text:
0+ <.text>:
[ ]+0:[ ]+c3 05 84[ ]+jp 0x8405
[ ]+3:[ ]+da 05 84[ ]+jp c,0x8405
[ ]+6:[ ]+d2 05 84[ ]+jp nc,0x8405
[ ]+9:[ ]+ca 05 84[ ]+jp z,0x8405
[ ]+c:[ ]+c2 05 84[ ]+jp nz,0x8405
[ ]+f:[ ]+ea 05 84[ ]+jp pe,0x8405
[ ]+12:[ ]+e2 05 84[ ]+jp po,0x8405
[ ]+15:[ ]+fa 05 84[ ]+jp m,0x8405
[ ]+18:[ ]+f2 05 84[ ]+jp p,0x8405
[ ]+1b:[ ]+18 e3[ ]+jr (0x)?0+
[ ]+1d:[ ]+38 e1[ ]+jr c,(0x)?0+
[ ]+1f:[ ]+30 df[ ]+jr nc,(0x)?0+
[ ]+21:[ ]+28 dd[ ]+jr z,(0x)?0+
[ ]+23:[ ]+20 db[ ]+jr nz,(0x)?0+
[ ]+25:[ ]+e9[ ]+jp \(hl\)
[ ]+26:[ ]+dd e9[ ]+jp \(ix\)
[ ]+28:[ ]+fd e9[ ]+jp \(iy\)
[ ]+2a:[ ]+cd 05 84[ ]+call 0x8405
[ ]+2d:[ ]+dc 05 84[ ]+call c,0x8405
[ ]+30:[ ]+d4 05 84[ ]+call nc,0x8405
[ ]+33:[ ]+cc 05 84[ ]+call z,0x8405
[ ]+36:[ ]+c4 05 84[ ]+call nz,0x8405
[ ]+39:[ ]+ec 05 84[ ]+call pe,0x8405
[ ]+3c:[ ]+e4 05 84[ ]+call po,0x8405
[ ]+3f:[ ]+fc 05 84[ ]+call m,0x8405
[ ]+42:[ ]+f4 05 84[ ]+call p,0x8405
[ ]+45:[ ]+10 b9[ ]+djnz (0x)?0+
[ ]+47:[ ]+c9[ ]+ret
[ ]+48:[ ]+d8[ ]+ret c
[ ]+49:[ ]+d0[ ]+ret nc
[ ]+4a:[ ]+c8[ ]+ret z
[ ]+4b:[ ]+c0[ ]+ret nz
[ ]+4c:[ ]+e8[ ]+ret pe
[ ]+4d:[ ]+e0[ ]+ret po
[ ]+4e:[ ]+f8[ ]+ret m
[ ]+4f:[ ]+f0[ ]+ret p
[ ]+50:[ ]+ed 4d[ ]+reti
[ ]+52:[ ]+ed 45[ ]+retn
[ ]+54:[ ]+c7[ ]+rst (0x)?0+
[ ]+55:[ ]+cf[ ]+rst (0x0?)?8
[ ]+56:[ ]+d7[ ]+rst 0x10
[ ]+57:[ ]+df[ ]+rst 0x18
[ ]+58:[ ]+e7[ ]+rst 0x20
[ ]+59:[ ]+ef[ ]+rst 0x28
[ ]+5a:[ ]+f7[ ]+rst 0x30
[ ]+5b:[ ]+ff[ ]+rst 0x38

View file

@ -0,0 +1,57 @@
.text
.org 0
;;; branch instructions
2:
jp 0x8405
jp c,0x8405
jp nc,0x8405
jp z,0x8405
jp nz,0x8405
jp pe,0x8405
jp po,0x8405
jp m,0x8405
jp p,0x8405
jr 2b
jr c,2b
jr nc,2b
jr z,2b
jr nz,2b
jp (hl)
jp (ix)
jp (iy)
call 0x8405
call c,0x8405
call nc,0x8405
call z,0x8405
call nz,0x8405
call pe,0x8405
call po,0x8405
call m,0x8405
call p,0x8405
djnz 2b
ret
ret c
ret nc
ret z
ret nz
ret pe
ret po
ret m
ret p
reti
retn
rst 0h
rst 8h
rst 10h
rst 18h
rst 20h
rst 28h
rst 30h
rst 38h

View file

@ -0,0 +1,24 @@
#objdump: -d
#name: input and output
.*: .*
Disassembly of section .text:
0+ <.text>:
[ ]+0:[ ]+db 76[ ]+in a,\(0x76\)
[ ]+2:[ ]+ed 78[ ]+in a,\(c\)
[ ]+4:[ ]+ed 40[ ]+in b,\(c\)
[ ]+6:[ ]+ed 48[ ]+in c,\(c\)
[ ]+8:[ ]+ed 50[ ]+in d,\(c\)
[ ]+a:[ ]+ed 58[ ]+in e,\(c\)
[ ]+c:[ ]+ed 60[ ]+in h,\(c\)
[ ]+e:[ ]+ed 68[ ]+in l,\(c\)
[ ]+10:[ ]+d3 76[ ]+out \(0x76\),a
[ ]+12:[ ]+ed 79[ ]+out \(c\),a
[ ]+14:[ ]+ed 41[ ]+out \(c\),b
[ ]+16:[ ]+ed 49[ ]+out \(c\),c
[ ]+18:[ ]+ed 51[ ]+out \(c\),d
[ ]+1a:[ ]+ed 59[ ]+out \(c\),e
[ ]+1c:[ ]+ed 61[ ]+out \(c\),h
[ ]+1e:[ ]+ed 69[ ]+out \(c\),l

View file

@ -0,0 +1,23 @@
.text
.org 0
;;; input
in a,(0x76)
in a,(c)
in b,(c)
in c,(c)
in d,(c)
in e,(c)
in h,(c)
in l,(c)
;;; output
out (0x76),a
out (c),a
out (c),b
out (c),c
out (c),d
out (c),e
out (c),h
out (c),l

View file

@ -0,0 +1,154 @@
#objdump: -d
#name: data transfer instructions
.*: .*
Disassembly of section .text:
0+ <.text>:
[ ]+0:[ ]+ed 57[ ]+ld a,i
[ ]+2:[ ]+ed 5f[ ]+ld a,r
[ ]+4:[ ]+7f[ ]+ld a,a
[ ]+5:[ ]+78[ ]+ld a,b
[ ]+6:[ ]+79[ ]+ld a,c
[ ]+7:[ ]+7a[ ]+ld a,d
[ ]+8:[ ]+7b[ ]+ld a,e
[ ]+9:[ ]+7c[ ]+ld a,h
[ ]+a:[ ]+7d[ ]+ld a,l
[ ]+b:[ ]+7e[ ]+ld a,\(hl\)
[ ]+c:[ ]+0a[ ]+ld a,\(bc\)
[ ]+d:[ ]+1a[ ]+ld a,\(de\)
[ ]+e:[ ]+dd 7e 05[ ]+ld a,\(ix\+5\)
[ ]+11:[ ]+fd 7e 05[ ]+ld a,\(iy\+5\)
[ ]+14:[ ]+3a 05 84[ ]+ld a,\(0x8405\)
[ ]+17:[ ]+3e 11[ ]+ld a,0x11
[ ]+19:[ ]+47[ ]+ld b,a
[ ]+1a:[ ]+40[ ]+ld b,b
[ ]+1b:[ ]+41[ ]+ld b,c
[ ]+1c:[ ]+42[ ]+ld b,d
[ ]+1d:[ ]+43[ ]+ld b,e
[ ]+1e:[ ]+44[ ]+ld b,h
[ ]+1f:[ ]+45[ ]+ld b,l
[ ]+20:[ ]+46[ ]+ld b,\(hl\)
[ ]+21:[ ]+dd 46 05[ ]+ld b,\(ix\+5\)
[ ]+24:[ ]+fd 46 05[ ]+ld b,\(iy\+5\)
[ ]+27:[ ]+06 11[ ]+ld b,0x11
[ ]+29:[ ]+4f[ ]+ld c,a
[ ]+2a:[ ]+48[ ]+ld c,b
[ ]+2b:[ ]+49[ ]+ld c,c
[ ]+2c:[ ]+4a[ ]+ld c,d
[ ]+2d:[ ]+4b[ ]+ld c,e
[ ]+2e:[ ]+4c[ ]+ld c,h
[ ]+2f:[ ]+4d[ ]+ld c,l
[ ]+30:[ ]+4e[ ]+ld c,\(hl\)
[ ]+31:[ ]+dd 4e 05[ ]+ld c,\(ix\+5\)
[ ]+34:[ ]+fd 4e 05[ ]+ld c,\(iy\+5\)
[ ]+37:[ ]+0e 11[ ]+ld c,0x11
[ ]+39:[ ]+57[ ]+ld d,a
[ ]+3a:[ ]+50[ ]+ld d,b
[ ]+3b:[ ]+51[ ]+ld d,c
[ ]+3c:[ ]+52[ ]+ld d,d
[ ]+3d:[ ]+53[ ]+ld d,e
[ ]+3e:[ ]+54[ ]+ld d,h
[ ]+3f:[ ]+55[ ]+ld d,l
[ ]+40:[ ]+56[ ]+ld d,\(hl\)
[ ]+41:[ ]+dd 56 05[ ]+ld d,\(ix\+5\)
[ ]+44:[ ]+fd 56 05[ ]+ld d,\(iy\+5\)
[ ]+47:[ ]+16 11[ ]+ld d,0x11
[ ]+49:[ ]+5f[ ]+ld e,a
[ ]+4a:[ ]+58[ ]+ld e,b
[ ]+4b:[ ]+59[ ]+ld e,c
[ ]+4c:[ ]+5a[ ]+ld e,d
[ ]+4d:[ ]+5b[ ]+ld e,e
[ ]+4e:[ ]+5c[ ]+ld e,h
[ ]+4f:[ ]+5d[ ]+ld e,l
[ ]+50:[ ]+5e[ ]+ld e,\(hl\)
[ ]+51:[ ]+dd 5e 05[ ]+ld e,\(ix\+5\)
[ ]+54:[ ]+fd 5e 05[ ]+ld e,\(iy\+5\)
[ ]+57:[ ]+1e 11[ ]+ld e,0x11
[ ]+59:[ ]+67[ ]+ld h,a
[ ]+5a:[ ]+60[ ]+ld h,b
[ ]+5b:[ ]+61[ ]+ld h,c
[ ]+5c:[ ]+62[ ]+ld h,d
[ ]+5d:[ ]+63[ ]+ld h,e
[ ]+5e:[ ]+64[ ]+ld h,h
[ ]+5f:[ ]+65[ ]+ld h,l
[ ]+60:[ ]+66[ ]+ld h,\(hl\)
[ ]+61:[ ]+dd 66 05[ ]+ld h,\(ix\+5\)
[ ]+64:[ ]+fd 66 05[ ]+ld h,\(iy\+5\)
[ ]+67:[ ]+26 11[ ]+ld h,0x11
[ ]+69:[ ]+6f[ ]+ld l,a
[ ]+6a:[ ]+68[ ]+ld l,b
[ ]+6b:[ ]+69[ ]+ld l,c
[ ]+6c:[ ]+6a[ ]+ld l,d
[ ]+6d:[ ]+6b[ ]+ld l,e
[ ]+6e:[ ]+6c[ ]+ld l,h
[ ]+6f:[ ]+6d[ ]+ld l,l
[ ]+70:[ ]+6e[ ]+ld l,\(hl\)
[ ]+71:[ ]+dd 6e 05[ ]+ld l,\(ix\+5\)
[ ]+74:[ ]+fd 6e 05[ ]+ld l,\(iy\+5\)
[ ]+77:[ ]+2e 11[ ]+ld l,0x11
[ ]+79:[ ]+77[ ]+ld \(hl\),a
[ ]+7a:[ ]+70[ ]+ld \(hl\),b
[ ]+7b:[ ]+71[ ]+ld \(hl\),c
[ ]+7c:[ ]+72[ ]+ld \(hl\),d
[ ]+7d:[ ]+73[ ]+ld \(hl\),e
[ ]+7e:[ ]+74[ ]+ld \(hl\),h
[ ]+7f:[ ]+75[ ]+ld \(hl\),l
[ ]+80:[ ]+36 11[ ]+ld \(hl\),0x11
[ ]+82:[ ]+02[ ]+ld \(bc\),a
[ ]+83:[ ]+12[ ]+ld \(de\),a
[ ]+84:[ ]+dd 77 05[ ]+ld \(ix\+5\),a
[ ]+87:[ ]+dd 70 05[ ]+ld \(ix\+5\),b
[ ]+8a:[ ]+dd 71 05[ ]+ld \(ix\+5\),c
[ ]+8d:[ ]+dd 72 05[ ]+ld \(ix\+5\),d
[ ]+90:[ ]+dd 73 05[ ]+ld \(ix\+5\),e
[ ]+93:[ ]+dd 74 05[ ]+ld \(ix\+5\),h
[ ]+96:[ ]+dd 75 05[ ]+ld \(ix\+5\),l
[ ]+99:[ ]+dd 36 05 11[ ]+ld \(ix\+5\),0x11
[ ]+9d:[ ]+fd 77 05[ ]+ld \(iy\+5\),a
[ ]+a0:[ ]+fd 70 05[ ]+ld \(iy\+5\),b
[ ]+a3:[ ]+fd 71 05[ ]+ld \(iy\+5\),c
[ ]+a6:[ ]+fd 72 05[ ]+ld \(iy\+5\),d
[ ]+a9:[ ]+fd 73 05[ ]+ld \(iy\+5\),e
[ ]+ac:[ ]+fd 74 05[ ]+ld \(iy\+5\),h
[ ]+af:[ ]+fd 75 05[ ]+ld \(iy\+5\),l
[ ]+b2:[ ]+fd 36 05 11[ ]+ld \(iy\+5\),0x11
[ ]+b6:[ ]+32 07 84[ ]+ld \(0x8407\),a
[ ]+b9:[ ]+ed 47[ ]+ld i,a
[ ]+bb:[ ]+ed 4f[ ]+ld r,a
[ ]+bd:[ ]+f1[ ]+pop af
[ ]+be:[ ]+01 05 84[ ]+ld bc,0x8405
[ ]+c1:[ ]+ed 4b 05 84[ ]+ld bc,\(0x8405\)
[ ]+c5:[ ]+c1[ ]+pop bc
[ ]+c6:[ ]+11 05 84[ ]+ld de,0x8405
[ ]+c9:[ ]+ed 5b 05 84[ ]+ld de,\(0x8405\)
[ ]+cd:[ ]+d1[ ]+pop de
[ ]+ce:[ ]+21 05 84[ ]+ld hl,0x8405
[ ]+d1:[ ]+2a 05 84[ ]+ld hl,\(0x8405\)
[ ]+d4:[ ]+e1[ ]+pop hl
[ ]+d5:[ ]+f9[ ]+ld sp,hl
[ ]+d6:[ ]+dd f9[ ]+ld sp,ix
[ ]+d8:[ ]+fd f9[ ]+ld sp,iy
[ ]+da:[ ]+31 02 84[ ]+ld sp,0x8402
[ ]+dd:[ ]+ed 7b 02 83[ ]+ld sp,\(0x8302\)
[ ]+e1:[ ]+dd 21 05 84[ ]+ld ix,0x8405
[ ]+e5:[ ]+dd 2a 05 84[ ]+ld ix,\(0x8405\)
[ ]+e9:[ ]+dd e1[ ]+pop ix
[ ]+eb:[ ]+fd 21 05 84[ ]+ld iy,0x8405
[ ]+ef:[ ]+fd 2a 05 84[ ]+ld iy,\(0x8405\)
[ ]+f3:[ ]+fd e1[ ]+pop iy
[ ]+f5:[ ]+ed 43 32 84[ ]+ld \(0x8432\),bc
[ ]+f9:[ ]+ed 53 32 84[ ]+ld \(0x8432\),de
[ ]+fd:[ ]+22 32 84[ ]+ld \(0x8432\),hl
[ ]+100:[ ]+ed 73 32 84[ ]+ld \(0x8432\),sp
[ ]+104:[ ]+dd 22 32 84[ ]+ld \(0x8432\),ix
[ ]+108:[ ]+fd 22 32 84[ ]+ld \(0x8432\),iy
[ ]+10c:[ ]+f5[ ]+push af
[ ]+10d:[ ]+c5[ ]+push bc
[ ]+10e:[ ]+d5[ ]+push de
[ ]+10f:[ ]+e5[ ]+push hl
[ ]+110:[ ]+dd e5[ ]+push ix
[ ]+112:[ ]+fd e5[ ]+push iy
#pass

View file

@ -0,0 +1,169 @@
.section .text
.org 0
;; 8-bit load group
ld a,i
ld a,r
ld a,a
ld a,b
ld a,c
ld a,d
ld a,e
ld a,h
ld a,l
ld a,(hl)
ld a,(bc)
ld a,(de)
ld a,(ix+5)
ld a,(iy+5)
ld a,(0x8405)
ld a,0x11
ld b,a
ld b,b
ld b,c
ld b,d
ld b,e
ld b,h
ld b,l
ld b,(hl)
ld b,(ix+5)
ld b,(iy+5)
ld b,0x11
ld c,a
ld c,b
ld c,c
ld c,d
ld c,e
ld c,h
ld c,l
ld c,(hl)
ld c,(ix+5)
ld c,(iy+5)
ld c,0x11
ld d,a
ld d,b
ld d,c
ld d,d
ld d,e
ld d,h
ld d,l
ld d,(hl)
ld d,(ix+5)
ld d,(iy+5)
ld d,0x11
ld e,a
ld e,b
ld e,c
ld e,d
ld e,e
ld e,h
ld e,l
ld e,(hl)
ld e,(ix+5)
ld e,(iy+5)
ld e,0x11
ld h,a
ld h,b
ld h,c
ld h,d
ld h,e
ld h,h
ld h,l
ld h,(hl)
ld h,(ix+5)
ld h,(iy+5)
ld h,0x11
ld l,a
ld l,b
ld l,c
ld l,d
ld l,e
ld l,h
ld l,l
ld l,(hl)
ld l,(ix+5)
ld l,(iy+5)
ld l,0x11
ld (hl),a
ld (hl),b
ld (hl),c
ld (hl),d
ld (hl),e
ld (hl),h
ld (hl),l
ld (hl),0x11
ld (bc),a
ld (de),a
ld (ix+5),a
ld (ix+5),b
ld (ix+5),c
ld (ix+5),d
ld (ix+5),e
ld (ix+5),h
ld (ix+5),l
ld (ix+5),0x11
ld (iy+5),a
ld (iy+5),b
ld (iy+5),c
ld (iy+5),d
ld (iy+5),e
ld (iy+5),h
ld (iy+5),l
ld (iy+5),0x11
ld (0x8407),a
ld i,a
ld r,a
;; 16-bit load group --- ld, pop and push
pop af
ld bc,0x8405
ld bc,(0x8405)
pop bc
ld de,0x8405
ld de,(0x8405)
pop de
ld hl,0x8405
ld hl,(0x8405)
pop hl
ld sp,hl
ld sp,ix
ld sp,iy
ld sp,0x8402
ld sp,(0x8302)
ld ix,0x8405
ld ix,(0x8405)
pop ix
ld iy,0x8405
ld iy,(0x8405)
pop iy
ld (0x8432),bc
ld (0x8432),de
ld (0x8432),hl
ld (0x8432),sp
ld (0x8432),ix
ld (0x8432),iy
push af
push bc
push de
push hl
push ix
push iy

View file

@ -0,0 +1,26 @@
#objdump: -d
#name: miscellaneous instructions
.*: .*
Disassembly of section .text:
0+ <.text>:
[ ]+[0-9a-f]+:[ ]+08[ ]+ex af,af'
[ ]+[0-9a-f]+:[ ]+d9[ ]+exx
[ ]+[0-9a-f]+:[ ]+eb[ ]+ex de,hl
[ ]+[0-9a-f]+:[ ]+e3[ ]+ex \(sp\),hl
[ ]+[0-9a-f]+:[ ]+dd e3[ ]+ex \(sp\),ix
[ ]+[0-9a-f]+:[ ]+fd e3[ ]+ex \(sp\),iy
[ ]+[0-9a-f]+:[ ]+27[ ]+daa
[ ]+[0-9a-f]+:[ ]+2f[ ]+cpl
[ ]+[0-9a-f]+:[ ]+ed 44[ ]+neg
[ ]+[0-9a-f]+:[ ]+3f[ ]+ccf
[ ]+[0-9a-f]+:[ ]+37[ ]+scf
[ ]+[0-9a-f]+:[ ]+00[ ]+nop
[ ]+[0-9a-f]+:[ ]+76[ ]+halt
[ ]+[0-9a-f]+:[ ]+f3[ ]+di
[ ]+[0-9a-f]+:[ ]+fb[ ]+ei
[ ]+[0-9a-f]+:[ ]+ed 46[ ]+im 0
[ ]+[0-9a-f]+:[ ]+ed 56[ ]+im 1
[ ]+[0-9a-f]+:[ ]+ed 5e[ ]+im 2

View file

@ -0,0 +1,26 @@
.text
.org 0
;;; exchange instructions
ex af,af'
exx
ex de,hl
ex (sp),hl
ex (sp),ix
ex (sp),iy
;;; AF operations
daa
cpl
neg
ccf
scf
;;; CPU control
nop
halt
di
ei
im 0
im 1
im 2

View file

@ -0,0 +1,86 @@
#objdump: -d
#name: rotate and shift
.*: .*
Disassembly of section .text:
0+ <.text>:
[ ]+[0-9a-f]+:[ ]+cb 07[ ]+rlc a
[ ]+[0-9a-f]+:[ ]+cb 00[ ]+rlc b
[ ]+[0-9a-f]+:[ ]+cb 01[ ]+rlc c
[ ]+[0-9a-f]+:[ ]+cb 02[ ]+rlc d
[ ]+[0-9a-f]+:[ ]+cb 03[ ]+rlc e
[ ]+[0-9a-f]+:[ ]+cb 04[ ]+rlc h
[ ]+[0-9a-f]+:[ ]+cb 05[ ]+rlc l
[ ]+[0-9a-f]+:[ ]+cb 06[ ]+rlc \(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 06[ ]+rlc \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 06[ ]+rlc \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 0f[ ]+rrc a
[ ]+[0-9a-f]+:[ ]+cb 08[ ]+rrc b
[ ]+[0-9a-f]+:[ ]+cb 09[ ]+rrc c
[ ]+[0-9a-f]+:[ ]+cb 0a[ ]+rrc d
[ ]+[0-9a-f]+:[ ]+cb 0b[ ]+rrc e
[ ]+[0-9a-f]+:[ ]+cb 0c[ ]+rrc h
[ ]+[0-9a-f]+:[ ]+cb 0d[ ]+rrc l
[ ]+[0-9a-f]+:[ ]+cb 0e[ ]+rrc \(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 0e[ ]+rrc \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 0e[ ]+rrc \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 17[ ]+rl a
[ ]+[0-9a-f]+:[ ]+cb 10[ ]+rl b
[ ]+[0-9a-f]+:[ ]+cb 11[ ]+rl c
[ ]+[0-9a-f]+:[ ]+cb 12[ ]+rl d
[ ]+[0-9a-f]+:[ ]+cb 13[ ]+rl e
[ ]+[0-9a-f]+:[ ]+cb 14[ ]+rl h
[ ]+[0-9a-f]+:[ ]+cb 15[ ]+rl l
[ ]+[0-9a-f]+:[ ]+cb 16[ ]+rl \(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 16[ ]+rl \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 16[ ]+rl \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 1f[ ]+rr a
[ ]+[0-9a-f]+:[ ]+cb 18[ ]+rr b
[ ]+[0-9a-f]+:[ ]+cb 19[ ]+rr c
[ ]+[0-9a-f]+:[ ]+cb 1a[ ]+rr d
[ ]+[0-9a-f]+:[ ]+cb 1b[ ]+rr e
[ ]+[0-9a-f]+:[ ]+cb 1c[ ]+rr h
[ ]+[0-9a-f]+:[ ]+cb 1d[ ]+rr l
[ ]+[0-9a-f]+:[ ]+cb 1e[ ]+rr \(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 1e[ ]+rr \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 1e[ ]+rr \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 27[ ]+sla a
[ ]+[0-9a-f]+:[ ]+cb 20[ ]+sla b
[ ]+[0-9a-f]+:[ ]+cb 21[ ]+sla c
[ ]+[0-9a-f]+:[ ]+cb 22[ ]+sla d
[ ]+[0-9a-f]+:[ ]+cb 23[ ]+sla e
[ ]+[0-9a-f]+:[ ]+cb 24[ ]+sla h
[ ]+[0-9a-f]+:[ ]+cb 25[ ]+sla l
[ ]+[0-9a-f]+:[ ]+cb 26[ ]+sla \(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 26[ ]+sla \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 26[ ]+sla \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 2f[ ]+sra a
[ ]+[0-9a-f]+:[ ]+cb 28[ ]+sra b
[ ]+[0-9a-f]+:[ ]+cb 29[ ]+sra c
[ ]+[0-9a-f]+:[ ]+cb 2a[ ]+sra d
[ ]+[0-9a-f]+:[ ]+cb 2b[ ]+sra e
[ ]+[0-9a-f]+:[ ]+cb 2c[ ]+sra h
[ ]+[0-9a-f]+:[ ]+cb 2d[ ]+sra l
[ ]+[0-9a-f]+:[ ]+cb 2e[ ]+sra \(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 2e[ ]+sra \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 2e[ ]+sra \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+cb 3f[ ]+srl a
[ ]+[0-9a-f]+:[ ]+cb 38[ ]+srl b
[ ]+[0-9a-f]+:[ ]+cb 39[ ]+srl c
[ ]+[0-9a-f]+:[ ]+cb 3a[ ]+srl d
[ ]+[0-9a-f]+:[ ]+cb 3b[ ]+srl e
[ ]+[0-9a-f]+:[ ]+cb 3c[ ]+srl h
[ ]+[0-9a-f]+:[ ]+cb 3d[ ]+srl l
[ ]+[0-9a-f]+:[ ]+cb 3e[ ]+srl \(hl\)
[ ]+[0-9a-f]+:[ ]+dd cb 05 3e[ ]+srl \(ix\+5\)
[ ]+[0-9a-f]+:[ ]+fd cb 05 3e[ ]+srl \(iy\+5\)
[ ]+[0-9a-f]+:[ ]+07[ ]+rlca
[ ]+[0-9a-f]+:[ ]+0f[ ]+rrca
[ ]+[0-9a-f]+:[ ]+17[ ]+rla
[ ]+[0-9a-f]+:[ ]+1f[ ]+rra
[ ]+[0-9a-f]+:[ ]+ed 6f[ ]+rld
[ ]+[0-9a-f]+:[ ]+ed 67[ ]+rrd
#pass

View file

@ -0,0 +1,81 @@
.text
.org 0
;;; Rotates and shifts
rlc a
rlc b
rlc c
rlc d
rlc e
rlc h
rlc l
rlc (hl)
rlc (ix+5)
rlc (iy+5)
rrc a
rrc b
rrc c
rrc d
rrc e
rrc h
rrc l
rrc (hl)
rrc (ix+5)
rrc (iy+5)
rl a
rl b
rl c
rl d
rl e
rl h
rl l
rl (hl)
rl (ix+5)
rl (iy+5)
rr a
rr b
rr c
rr d
rr e
rr h
rr l
rr (hl)
rr (ix+5)
rr (iy+5)
sla a
sla b
sla c
sla d
sla e
sla h
sla l
sla (hl)
sla (ix+5)
sla (iy+5)
sra a
sra b
sra c
sra d
sra e
sra h
sra l
sra (hl)
sra (ix+5)
sra (iy+5)
srl a
srl b
srl c
srl d
srl e
srl h
srl l
srl (hl)
srl (ix+5)
srl (iy+5)
rlca
rrca
rla
rra
rld
rrd

View file

@ -9,4 +9,20 @@ if [istarget z80-*-*] then {
run_dump_test "suffix"
# test assembling and disassembling instructions involving offsets
run_dump_test "offset"
# test for data transfer instructions
run_dump_test "ld-group"
# test for block instructions
run_dump_test "block"
# test for arithmetic and logic
run_dump_test "arith"
# test for rotate and shift
run_dump_test "rotate"
# test for bit manipulations
run_dump_test "bit"
# test for branch instructions
run_dump_test "branch"
# test for input and output instructions
run_dump_test "inout"
#test for other instructions
run_dump_test "misc"
}