summaryrefslogtreecommitdiff
path: root/js/src/lirasm/tests/cond_led.in
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/lirasm/tests/cond_led.in')
-rw-r--r--js/src/lirasm/tests/cond_led.in53
1 files changed, 53 insertions, 0 deletions
diff --git a/js/src/lirasm/tests/cond_led.in b/js/src/lirasm/tests/cond_led.in
new file mode 100644
index 0000000..3596169
--- /dev/null
+++ b/js/src/lirasm/tests/cond_led.in
@@ -0,0 +1,53 @@
+; A few utility constants .
+sh0 = immi 0
+sh1 = immi 1
+sh2 = immi 2
+sh3 = immi 3
+sh4 = immi 4
+sh5 = immi 5
+sh6 = immi 6
+sh7 = immi 7
+sh8 = immi 8
+
+i0 = immd 0
+i1 = immd 1
+i2 = immd -1
+
+; ----------------------------------------------------------------------------
+; Combinations of 'led'.
+le0 = led i0 i0 ; 1
+le1 = led i0 i1 ; 1
+le2 = led i0 i2 ; 0
+le3 = led i1 i0 ; 0
+le4 = led i1 i1 ; 1
+le5 = led i1 i2 ; 0
+le6 = led i2 i0 ; 1
+le7 = led i2 i1 ; 1
+le8 = led i2 i2 ; 1
+
+; Aggregate the results.
+le0sh = lshi le0 sh0
+le1sh = lshi le1 sh1
+le2sh = lshi le2 sh2
+le3sh = lshi le3 sh3
+le4sh = lshi le4 sh4
+le5sh = lshi le5 sh5
+le6sh = lshi le6 sh6
+le7sh = lshi le7 sh7
+le8sh = lshi le8 sh8
+
+le0_1 = ori le0sh le1sh
+le2_3 = ori le2sh le3sh
+le4_5 = ori le4sh le5sh
+le6_7 = ori le6sh le7sh
+
+le0_3 = ori le0_1 le2_3
+le4_7 = ori le4_5 le6_7
+
+le0_7 = ori le0_3 le4_7
+
+le = ori le0_7 le8sh
+
+; The result should be {0001,1101,0011}, 0x1d3, or 194.
+
+reti le