summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2023-08-09 00:41:52 +0300
committerOxore <oxore@protonmail.com>2023-08-09 00:41:52 +0300
commit8417537e503f86a8a659d64418c7b2547d555b51 (patch)
tree3af81a0b11073f620062ad9d8ecdbe392e4dd400 /tests
parent5c5c60a18b41d2f5a077d5fa8fa8b266db537578 (diff)
Finally fix parsing indirect indexed addr args
Diffstat (limited to 'tests')
-rw-r--r--tests/test2.S65
-rw-r--r--tests/test3.S9
2 files changed, 71 insertions, 3 deletions
diff --git a/tests/test2.S b/tests/test2.S
index 4a8ee7d..20c68c5 100644
--- a/tests/test2.S
+++ b/tests/test2.S
@@ -1,43 +1,102 @@
+move 32767.l(a1),d1
+move (32767.l,a1),d1
+move (a1,32767.l),d1
+
+move 32767.l(pc),d1
+move (32767.l,pc),d1
+move (pc,32767.l),d1
+
+move 127.l(a1,d1),d1
+move 127.w(a1,d1),d1
move 127(a1,d1.l),d1
-move 127(a1,d1.l),d1
+move 127(a1,d1.w),d1
move 127.l(a1,d1.l),d1
+move 127.w(a1,d1.l),d1
+move 127.l(a1,d1.w),d1
+move 127.w(a1,d1.w),d1
move 127(d1.l,a1),d1
-move 127(d1.l,a1),d1
+move 127(d1.w,a1),d1
move 127.l(d1.l,a1),d1
+move 127.w(d1.l,a1),d1
+move 127.l(d1.w,a1),d1
+move 127.w(d1.w,a1),d1
move 127(pc,d1.l),d1
+move 127(pc,d1.w),d1
move 127.l(pc,d1),d1
+move 127.w(pc,d1),d1
move 127.l(pc,d1.l),d1
+move 127.w(pc,d1.l),d1
+move 127.l(pc,d1.w),d1
+move 127.w(pc,d1.w),d1
move 127(d1.l,pc),d1
+move 127(d1.w,pc),d1
move 127.l(d1,pc),d1
+move 127.w(d1,pc),d1
move 127.l(d1.l,pc),d1
+move 127.w(d1.l,pc),d1
+move 127.l(d1.w,pc),d1
+move 127.w(d1.w,pc),d1
move (a1,d1.l,127),d1
+move (a1,d1.l,127.w),d1
move (a1,d1.l,127.l),d1
+move (a1,d1.w,127.w),d1
+move (a1,d1.w,127.l),d1
move (a1,d1,127.l),d1
+move (a1,d1,127.w),d1
move (d1.l,a1,127),d1
move (d1,a1,127.l),d1
move (d1.l,a1,127.l),d1
+move (d1.l,a1,127.w),d1
+move (d1.w,a1,127.l),d1
+move (d1.w,a1,127.w),d1
move (a1,127,d1.l),d1
move (a1,127.l,d1),d1
+move (a1,127.w,d1),d1
move (a1,127.l,d1.l),d1
+move (a1,127.w,d1.l),d1
+move (a1,127.l,d1.w),d1
+move (a1,127.w,d1.w),d1
move (d1.l,127,a1),d1
move (d1,127.l,a1),d1
move (d1.l,127.l,a1),d1
-move (d1.l,127.l,a1),d1
+move (d1.l,127.w,a1),d1
+move (d1.w,127.l,a1),d1
+move (d1.w,127.w,a1),d1
move (a1.l,127.l,a1),d1
+move (a1.l,127.w,a1),d1
+move (a1.w,127.l,a1),d1
+move (a1.w,127.w,a1),d1
move (pc,d1.l,127),d1
+move (pc,d1.w,127),d1
move (pc,d1,127.l),d1
+move (pc,d1,127.w),d1
move (d1.l,pc,127),d1
+move (d1.w,pc,127),d1
move (d1,pc,127.l),d1
+move (d1,pc,127.w),d1
move (d1.l,pc,127.l),d1
+move (d1.l,pc,127.w),d1
+move (d1.w,pc,127.l),d1
+move (d1.w,pc,127.w),d1
move (pc,127,d1.l),d1
+move (pc,127,d1.w),d1
move (pc,127.l,d1),d1
+move (pc,127.w,d1),d1
move (pc,127.l,d1.l),d1
+move (pc,127.w,d1.l),d1
+move (pc,127.l,d1.w),d1
+move (pc,127.w,d1.w),d1
move (d1.l,127,pc),d1
+move (d1.w,127,pc),d1
move (d1,127.l,pc),d1
+move (d1,127.w,pc),d1
move (d1.l,127.l,pc),d1
+move (d1.l,127.w,pc),d1
+move (d1.w,127.l,pc),d1
+move (d1.w,127.w,pc),d1
loc:
move 0.l,d1
diff --git a/tests/test3.S b/tests/test3.S
new file mode 100644
index 0000000..a4acdc8
--- /dev/null
+++ b/tests/test3.S
@@ -0,0 +1,9 @@
+move 127.w(d1.l,a1),d1 ; Long size in extension word
+move 127.l(d1.w,a1),d1 ; Word size in extension word
+move 127.w(d1,a1),d1 ; Word size in extension word
+move 127.l(d1,a1),d1 ; Word size in extension word
+move 127(d1.w,a1),d1 ; Word size in extension word
+move 127(d1.l,a1),d1 ; Long size in extension word
+move (127.l,d1,a1),d1 ; Word size in extension word
+move (127,d1.l,a1),d1 ; Long size in extension word
+move ((127).b,d1.l,a1),d1 ; Long size in extension word