aboutsummaryrefslogtreecommitdiff
path: root/test/anc
diff options
context:
space:
mode:
authorPaul Oliver <contact@pauloliver.dev>2026-06-25 04:42:23 +0200
committerPaul Oliver <contact@pauloliver.dev>2026-06-28 02:50:18 +0200
commit95fd6ae836ab5fee7387f4df46b727165a05b723 (patch)
tree79c715d250f44c1aa1a0d05e65be313ae4cd3e15 /test/anc
parent0f5581f53f73a92d33826c4771553a9683376e67 (diff)
Adds v1 unit tests and fixes bugs found by them
Diffstat (limited to 'test/anc')
-rw-r--r--test/anc/v1/1rops.asm105
-rw-r--r--test/anc/v1/2rops.asm22
-rw-r--r--test/anc/v1/3rops.asm81
-rw-r--r--test/anc/v1/addrs.asm71
-rw-r--r--test/anc/v1/allos.asm27
-rw-r--r--test/anc/v1/ifnzs.asm46
-rw-r--r--test/anc/v1/ioops.asm100
-rw-r--r--test/anc/v1/jumps.asm52
-rw-r--r--test/anc/v1/mbops.asm13
-rw-r--r--test/anc/v1/stack.asm47
10 files changed, 564 insertions, 0 deletions
diff --git a/test/anc/v1/1rops.asm b/test/anc/v1/1rops.asm
new file mode 100644
index 0000000..e717aef
--- /dev/null
+++ b/test/anc/v1/1rops.asm
@@ -0,0 +1,105 @@
+incn
+incn
+nop0
+incn
+nop1
+nop2
+incn
+nop2
+nop3
+nop0
+incn
+nop3
+
+noop
+
+decn
+decn
+nop0
+decn
+nop1
+nop2
+decn
+nop2
+nop3
+nop0
+decn
+nop3
+
+noop
+
+incn
+incn
+incn
+notn
+notn
+nop0
+notn
+nop1
+nop2
+notn
+nop2
+nop3
+nop0
+notn
+nop3
+
+noop
+
+shfl
+shfl
+nop0
+shfl
+nop1
+nop2
+shfl
+nop2
+nop3
+nop0
+shfl
+nop3
+
+noop
+
+shfr
+shfr
+nop0
+shfr
+nop1
+nop2
+shfr
+nop2
+nop3
+nop0
+shfr
+nop3
+
+noop
+
+zero
+zero
+nop0
+zero
+nop1
+nop2
+zero
+nop2
+nop3
+nop0
+zero
+nop3
+
+noop
+
+unit
+unit
+nop0
+unit
+nop1
+nop2
+unit
+nop2
+nop3
+nop0
+unit
+nop3
diff --git a/test/anc/v1/2rops.asm b/test/anc/v1/2rops.asm
new file mode 100644
index 0000000..4060285
--- /dev/null
+++ b/test/anc/v1/2rops.asm
@@ -0,0 +1,22 @@
+incn
+incn
+incn
+
+noop
+
+dupl
+nop0
+nop1
+dupl
+nop2
+dupl
+nop1
+nop3
+
+noop
+
+swap
+nop1
+swap
+nop3
+nop2
diff --git a/test/anc/v1/3rops.asm b/test/anc/v1/3rops.asm
new file mode 100644
index 0000000..b8b2895
--- /dev/null
+++ b/test/anc/v1/3rops.asm
@@ -0,0 +1,81 @@
+incn
+addn
+addn
+nop0
+addn
+nop1
+nop0
+addn
+nop2
+nop1
+nop0
+addn
+nop3
+nop2
+nop1
+
+noop
+
+subn
+nop3
+nop2
+nop1
+subn
+nop3
+nop2
+subn
+nop3
+subn
+nop1
+nop2
+subn
+
+noop
+
+incn
+incn
+muln
+muln
+nop0
+muln
+nop1
+nop0
+muln
+nop2
+nop1
+nop0
+muln
+nop3
+nop2
+nop1
+
+noop
+
+divn
+nop3
+nop2
+nop1
+divn
+nop3
+nop2
+divn
+nop3
+divn
+nop1
+nop2
+divn
+
+noop
+
+; div by zero == noop
+zero
+divn
+divn
+nop1
+divn
+nop2
+nop1
+divn
+nop3
+nop2
+nop0
diff --git a/test/anc/v1/addrs.asm b/test/anc/v1/addrs.asm
new file mode 100644
index 0000000..5031007
--- /dev/null
+++ b/test/anc/v1/addrs.asm
@@ -0,0 +1,71 @@
+lokb
+lokd
+lokf
+lokh
+lokj
+lokl
+lokn
+lokp
+
+noop
+noop
+
+adrf
+keya
+adrb
+keyb
+nop1
+adrf
+keyc
+nop2
+adrb
+keyd
+nop3
+adrf
+keye
+nop0
+adrb
+keyf
+nop1
+adrf
+keyg
+nop2
+adrb
+keyh
+nop3
+adrf
+keyi
+nop0
+adrb
+keyj
+nop1
+adrf
+keyk
+nop2
+adrb
+keyl
+nop3
+adrf
+keym
+nop0
+adrb
+keyn
+nop1
+adrf
+keyo
+nop2
+adrb
+keyp
+nop3
+
+noop
+noop
+
+loka
+lokc
+loke
+lokg
+loki
+lokk
+lokm
+loko
diff --git a/test/anc/v1/allos.asm b/test/anc/v1/allos.asm
new file mode 100644
index 0000000..4c04a0f
--- /dev/null
+++ b/test/anc/v1/allos.asm
@@ -0,0 +1,27 @@
+incn
+shfl
+shfl
+
+allf
+nop0
+nop1
+allf
+allb
+splt
+splt
+splt
+
+allf
+nop0
+nop1
+allb
+allf
+splt
+splt
+
+allb
+nop0
+nop1
+allb
+allf
+splt
diff --git a/test/anc/v1/ifnzs.asm b/test/anc/v1/ifnzs.asm
new file mode 100644
index 0000000..a40f4dc
--- /dev/null
+++ b/test/anc/v1/ifnzs.asm
@@ -0,0 +1,46 @@
+ifnz
+incn
+incn
+ifnz
+nop0
+incn
+nop0
+
+noop
+
+ifnz
+nop1
+incn
+nop1
+incn
+nop1
+ifnz
+nop1
+incn
+nop1
+
+noop
+
+ifnz
+nop2
+incn
+nop2
+incn
+nop2
+ifnz
+nop2
+incn
+nop2
+
+noop
+
+ifnz
+nop3
+incn
+nop3
+incn
+nop3
+ifnz
+nop3
+incn
+nop3
diff --git a/test/anc/v1/ioops.asm b/test/anc/v1/ioops.asm
new file mode 100644
index 0000000..539715e
--- /dev/null
+++ b/test/anc/v1/ioops.asm
@@ -0,0 +1,100 @@
+keya
+lokb
+keyc
+lokd
+keye
+lokf
+keyg
+lokh
+
+noop
+
+incn
+nop1
+incn
+nop2
+incn
+nop2
+incn
+nop3
+incn
+nop3
+incn
+nop3
+pshn
+pshn
+nop1
+pshn
+nop2
+pshn
+nop3
+
+noop
+
+load
+load
+nop1
+nop1
+load
+nop2
+nop2
+load
+nop3
+nop3
+
+popn
+nop3
+popn
+nop2
+popn
+nop1
+popn
+pshn
+pshn
+nop1
+pshn
+nop2
+pshn
+nop3
+
+noop
+
+load
+nop2
+nop3
+load
+nop1
+nop2
+load
+nop0
+nop1
+load
+
+noop
+
+muln
+nop0
+nop1
+nop2
+muln
+nop1
+nop2
+nop3
+muln
+nop2
+nop3
+zero
+nop3
+
+wrte
+nop3
+incn
+nop3
+wrte
+nop3
+nop1
+incn
+nop3
+wrte
+nop3
+nop2
diff --git a/test/anc/v1/jumps.asm b/test/anc/v1/jumps.asm
new file mode 100644
index 0000000..0f86eda
--- /dev/null
+++ b/test/anc/v1/jumps.asm
@@ -0,0 +1,52 @@
+jmpf
+keya
+lokb
+jmpf
+keyc
+lokd
+jmpf
+keye
+lokf
+jmpf
+keyg
+lokh
+jmpf
+keyi
+lokj
+jmpf
+keyk
+lokl
+jmpf
+keym
+lokn
+jmpf
+keyo
+lokp
+
+noop
+noop
+
+loka
+jmpb
+keyb
+lokc
+jmpb
+keyd
+loke
+jmpb
+keyf
+lokg
+jmpb
+keyh
+loki
+jmpb
+keyj
+lokk
+jmpb
+keyl
+lokm
+jmpb
+keyn
+loko
+jmpb
+keyp
diff --git a/test/anc/v1/mbops.asm b/test/anc/v1/mbops.asm
new file mode 100644
index 0000000..d586173
--- /dev/null
+++ b/test/anc/v1/mbops.asm
@@ -0,0 +1,13 @@
+incn
+shfl
+shfl
+allf
+
+bswp
+bswp
+bswp
+
+bclr
+
+bswp
+bclr
diff --git a/test/anc/v1/stack.asm b/test/anc/v1/stack.asm
new file mode 100644
index 0000000..54c1e7d
--- /dev/null
+++ b/test/anc/v1/stack.asm
@@ -0,0 +1,47 @@
+incn
+incn
+nop1
+shfl
+nop1
+incn
+nop2
+shfl
+nop2
+shfl
+nop2
+
+noop
+
+pshn
+pshn
+nop1
+pshn
+nop2
+pshn
+nop3
+pshn
+nop0
+pshn
+nop1
+pshn
+nop2
+pshn
+nop3
+
+noop
+
+popn
+popn
+nop1
+popn
+nop2
+popn
+nop3
+popn
+nop0
+popn
+nop1
+popn
+nop2
+popn
+nop3