aboutsummaryrefslogtreecommitdiffstats
path: root/tests/t_st7/t_st7.asm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/t_st7/t_st7.asm')
-rw-r--r--tests/t_st7/t_st7.asm561
1 files changed, 561 insertions, 0 deletions
diff --git a/tests/t_st7/t_st7.asm b/tests/t_st7/t_st7.asm
new file mode 100644
index 0000000..c371c84
--- /dev/null
+++ b/tests/t_st7/t_st7.asm
@@ -0,0 +1,561 @@
+ cpu st7
+ page 0
+
+ halt
+ iret
+ nop
+ rcf
+ ret
+ rim
+ rsp
+ scf
+ sim
+ trap
+ wfi
+
+ adc a,#$15
+ adc a,$12
+ adc a,$12.w
+ adc a,$1234
+ adc a,(x)
+ adc a,($12,x)
+ adc a,($12.w,x)
+ adc a,($1234,x)
+ adc a,(y)
+ adc a,($12,y)
+ adc a,($12.w,y)
+ adc a,($1234,y)
+ adc a,[$12]
+ adc a,[$12.w]
+ adc a,([$12],x)
+ adc a,([$12.w],x)
+ adc a,([$12],y)
+ adc a,([$12.w],y)
+
+ add a,#$15
+ add a,$12
+ add a,$12.w
+ add a,$1234
+ add a,(x)
+ add a,($12,x)
+ add a,($12.w,x)
+ add a,($1234,x)
+ add a,(y)
+ add a,($12,y)
+ add a,($12.w,y)
+ add a,($1234,y)
+ add a,[$12]
+ add a,[$12.w]
+ add a,([$12],x)
+ add a,([$12.w],x)
+ add a,([$12],y)
+ add a,([$12.w],y)
+
+ and a,#$15
+ and a,$12
+ and a,$12.w
+ and a,$1234
+ and a,(x)
+ and a,($12,x)
+ and a,($12.w,x)
+ and a,($1234,x)
+ and a,(y)
+ and a,($12,y)
+ and a,($12.w,y)
+ and a,($1234,y)
+ and a,[$12]
+ and a,[$12.w]
+ and a,([$12],x)
+ and a,([$12.w],x)
+ and a,([$12],y)
+ and a,([$12.w],y)
+
+ bcp a,#$15
+ bcp a,$12
+ bcp a,$12.w
+ bcp a,$1234
+ bcp a,(x)
+ bcp a,($12,x)
+ bcp a,($12.w,x)
+ bcp a,($1234,x)
+ bcp a,(y)
+ bcp a,($12,y)
+ bcp a,($12.w,y)
+ bcp a,($1234,y)
+ bcp a,[$12]
+ bcp a,[$12.w]
+ bcp a,([$12],x)
+ bcp a,([$12.w],x)
+ bcp a,([$12],y)
+ bcp a,([$12.w],y)
+
+ or a,#$15
+ or a,$12
+ or a,$12.w
+ or a,$1234
+ or a,(x)
+ or a,($12,x)
+ or a,($12.w,x)
+ or a,($1234,x)
+ or a,(y)
+ or a,($12,y)
+ or a,($12.w,y)
+ or a,($1234,y)
+ or a,[$12]
+ or a,[$12.w]
+ or a,([$12],x)
+ or a,([$12.w],x)
+ or a,([$12],y)
+ or a,([$12.w],y)
+
+ sbc a,#$15
+ sbc a,$12
+ sbc a,$12.w
+ sbc a,$1234
+ sbc a,(x)
+ sbc a,($12,x)
+ sbc a,($12.w,x)
+ sbc a,($1234,x)
+ sbc a,(y)
+ sbc a,($12,y)
+ sbc a,($12.w,y)
+ sbc a,($1234,y)
+ sbc a,[$12]
+ sbc a,[$12.w]
+ sbc a,([$12],x)
+ sbc a,([$12.w],x)
+ sbc a,([$12],y)
+ sbc a,([$12.w],y)
+
+ sub a,#$15
+ sub a,$12
+ sub a,$12.w
+ sub a,$1234
+ sub a,(x)
+ sub a,($12,x)
+ sub a,($12.w,x)
+ sub a,($1234,x)
+ sub a,(y)
+ sub a,($12,y)
+ sub a,($12.w,y)
+ sub a,($1234,y)
+ sub a,[$12]
+ sub a,[$12.w]
+ sub a,([$12],x)
+ sub a,([$12.w],x)
+ sub a,([$12],y)
+ sub a,([$12.w],y)
+
+ xor a,#$15
+ xor a,$12
+ xor a,$12.w
+ xor a,$1234
+ xor a,(x)
+ xor a,($12,x)
+ xor a,($12.w,x)
+ xor a,($1234,x)
+ xor a,(y)
+ xor a,($12,y)
+ xor a,($12.w,y)
+ xor a,($1234,y)
+ xor a,[$12]
+ xor a,[$12.w]
+ xor a,([$12],x)
+ xor a,([$12.w],x)
+ xor a,([$12],y)
+ xor a,([$12.w],y)
+
+ call $12
+ call $12.w
+ call $1234
+ call (x)
+ call ($12,x)
+ call ($12.w,x)
+ call ($1234,x)
+ call (y)
+ call ($12,y)
+ call ($12.w,y)
+ call ($1234,y)
+ call [$12]
+ call [$12.w]
+ call ([$12],x)
+ call ([$12.w],x)
+ call ([$12],y)
+ call ([$12.w],y)
+
+ jp $12
+ jp $12.w
+ jp $1234
+ jp (x)
+ jp ($12,x)
+ jp ($12.w,x)
+ jp ($1234,x)
+ jp (y)
+ jp ($12,y)
+ jp ($12.w,y)
+ jp ($1234,y)
+ jp [$12]
+ jp [$12.w]
+ jp ([$12],x)
+ jp ([$12.w],x)
+ jp ([$12],y)
+ jp ([$12.w],y)
+
+ clr a
+ clr x
+ clr y
+ clr $12
+ clr (x)
+ clr ($12,x)
+ clr (y)
+ clr ($12,y)
+ clr [$12]
+ clr ([$12],x)
+ clr ([$12],y)
+
+ cpl a
+ cpl x
+ cpl y
+ cpl $12
+ cpl (x)
+ cpl ($12,x)
+ cpl (y)
+ cpl ($12,y)
+ cpl [$12]
+ cpl ([$12],x)
+ cpl ([$12],y)
+
+ dec a
+ dec x
+ dec y
+ dec $12
+ dec (x)
+ dec ($12,x)
+ dec (y)
+ dec ($12,y)
+ dec [$12]
+ dec ([$12],x)
+ dec ([$12],y)
+
+ inc a
+ inc x
+ inc y
+ inc $12
+ inc (x)
+ inc ($12,x)
+ inc (y)
+ inc ($12,y)
+ inc [$12]
+ inc ([$12],x)
+ inc ([$12],y)
+
+ neg a
+ neg x
+ neg y
+ neg $12
+ neg (x)
+ neg ($12,x)
+ neg (y)
+ neg ($12,y)
+ neg [$12]
+ neg ([$12],x)
+ neg ([$12],y)
+
+ rlc a
+ rlc x
+ rlc y
+ rlc $12
+ rlc (x)
+ rlc ($12,x)
+ rlc (y)
+ rlc ($12,y)
+ rlc [$12]
+ rlc ([$12],x)
+ rlc ([$12],y)
+
+ rrc a
+ rrc x
+ rrc y
+ rrc $12
+ rrc (x)
+ rrc ($12,x)
+ rrc (y)
+ rrc ($12,y)
+ rrc [$12]
+ rrc ([$12],x)
+ rrc ([$12],y)
+
+ sla a
+ sla x
+ sla y
+ sla $12
+ sla (x)
+ sla ($12,x)
+ sla (y)
+ sla ($12,y)
+ sla [$12]
+ sla ([$12],x)
+ sla ([$12],y)
+
+ sll a
+ sll x
+ sll y
+ sll $12
+ sll (x)
+ sll ($12,x)
+ sll (y)
+ sll ($12,y)
+ sll [$12]
+ sll ([$12],x)
+ sll ([$12],y)
+
+ sra a
+ sra x
+ sra y
+ sra $12
+ sra (x)
+ sra ($12,x)
+ sra (y)
+ sra ($12,y)
+ sra [$12]
+ sra ([$12],x)
+ sra ([$12],y)
+
+ srl a
+ srl x
+ srl y
+ srl $12
+ srl (x)
+ srl ($12,x)
+ srl (y)
+ srl ($12,y)
+ srl [$12]
+ srl ([$12],x)
+ srl ([$12],y)
+
+ swap a
+ swap x
+ swap y
+ swap $12
+ swap (x)
+ swap ($12,x)
+ swap (y)
+ swap ($12,y)
+ swap [$12]
+ swap ([$12],x)
+ swap ([$12],y)
+
+ tnz a
+ tnz x
+ tnz y
+ tnz $12
+ tnz (x)
+ tnz ($12,x)
+ tnz (y)
+ tnz ($12,y)
+ tnz [$12]
+ tnz ([$12],x)
+ tnz ([$12],y)
+
+ cp a,#$12
+ cp a,$12
+ cp a,$12.w
+ cp a,$1234
+ cp a,(x)
+ cp a,($12,x)
+ cp a,($12.w,x)
+ cp a,($1234,x)
+ cp a,(y)
+ cp a,($12,y)
+ cp a,($12.w,y)
+ cp a,($1234,y)
+ cp a,[$12]
+ cp a,[$12.w]
+ cp a,([$12],x)
+ cp a,([$12.w],x)
+ cp a,([$12],y)
+ cp a,([$12.w],y)
+ cp x,#$12
+ cp x,$12
+ cp x,$12.w
+ cp x,$1234
+ cp x,(x)
+ cp x,($12,x)
+ cp x,($12.w,x)
+ cp x,($1234,x)
+ cp x,[$12]
+ cp x,[$12.w]
+ cp x,([$12],x)
+ cp x,([$12.w],x)
+ cp y,#$12
+ cp y,$12
+ cp y,$12.w
+ cp y,$1234
+ cp y,(y)
+ cp y,($12,y)
+ cp y,($12.w,y)
+ cp y,($1234,y)
+ cp y,[$12]
+ cp y,[$12.w]
+ cp y,([$12],y)
+ cp y,([$12.w],y)
+
+ ld a,#$12
+ ld a,$12
+ ld a,$12.w
+ ld a,$1234
+ ld a,(x)
+ ld a,($12,x)
+ ld a,($12.w,x)
+ ld a,($1234,x)
+ ld a,(y)
+ ld a,($12,y)
+ ld a,($12.w,y)
+ ld a,($1234,y)
+ ld a,[$12]
+ ld a,[$12.w]
+ ld a,([$12],x)
+ ld a,([$12.w],x)
+ ld a,([$12],y)
+ ld a,([$12.w],y)
+ ld a,x
+ ld a,y
+ ld a,s
+ ld x,#$12
+ ld x,$12
+ ld x,$12.w
+ ld x,$1234
+ ld x,(x)
+ ld x,($12,x)
+ ld x,($12.w,x)
+ ld x,($1234,x)
+ ld x,[$12]
+ ld x,[$12.w]
+ ld x,([$12],x)
+ ld x,([$12.w],x)
+ ld x,a
+ ld x,y
+ ld x,s
+ ld y,#$12
+ ld y,$12
+ ld y,$12.w
+ ld y,$1234
+ ld y,(y)
+ ld y,($12,y)
+ ld y,($12.w,y)
+ ld y,($1234,y)
+ ld y,[$12]
+ ld y,[$12.w]
+ ld y,([$12],y)
+ ld y,([$12.w],y)
+ ld y,a
+ ld y,x
+ ld y,s
+ ld s,a
+ ld s,x
+ ld s,y
+ ld $12,a
+ ld $12.w,a
+ ld $1234,a
+ ld (x),a
+ ld ($12,x),a
+ ld ($12.w,x),a
+ ld ($1234,x),a
+ ld (y),a
+ ld ($12,y),a
+ ld ($12.w,y),a
+ ld ($1234,y),a
+ ld [$12],a
+ ld [$12.w],a
+ ld ([$12],x),a
+ ld ([$12.w],x),a
+ ld ([$12],y),a
+ ld ([$12.w],y),a
+ ld $12,x
+ ld $12.w,x
+ ld $1234,x
+ ld (x),x
+ ld ($12,x),x
+ ld ($12.w,x),x
+ ld ($1234,x),x
+ ld [$12],x
+ ld [$12.w],x
+ ld ([$12],x),x
+ ld ([$12.w],x),x
+ ld $12,y
+ ld $12.w,y
+ ld $1234,y
+ ld (y),y
+ ld ($12,y),y
+ ld ($12.w,y),y
+ ld ($1234,y),y
+ ld [$12],y
+ ld [$12.w],y
+ ld ([$12],y),y
+ ld ([$12.w],y),y
+
+ bres $12,#5
+ bres [$12],#2
+ bset $12,#5
+ bset [$12],#2
+
+ btjf $12,#5,pc
+ btjf [$12],#2,pc
+ btjt $12,#5,pc
+ btjt [$12],#2,pc
+
+ callr pc
+ jra pc
+ jrc pc
+ jreq pc
+ jrf pc
+ jrh pc
+ jrih pc
+ jril pc
+ jrm pc
+ jrmi pc
+ jrnc pc
+ jrne pc
+ jrnh pc
+ jrnm pc
+ jrpl pc
+ jrt pc
+ jruge pc
+ jrugt pc
+ jrule pc
+ jrult pc
+
+ callr [$12]
+ jra [$12]
+ jrc [$12]
+ jreq [$12]
+ jrf [$12]
+ jrh [$12]
+ jrih [$12]
+ jril [$12]
+ jrm [$12]
+ jrmi [$12]
+ jrnc [$12]
+ jrne [$12]
+ jrnh [$12]
+ jrnm [$12]
+ jrpl [$12]
+ jrt [$12]
+ jruge [$12]
+ jrugt [$12]
+ jrule [$12]
+ jrult [$12]
+
+ mul x,a
+ mul y,a
+
+ push a
+ push x
+ push y
+ push cc
+ pop a
+ pop x
+ pop y
+ pop cc
+
+