Added tests for `or` subroutine from stdlib.
authorAaron Taylor <ataylor@subgeniuskitty.com>
Thu, 1 Aug 2019 04:32:46 +0000 (21:32 -0700)
committerAaron Taylor <ataylor@subgeniuskitty.com>
Thu, 1 Aug 2019 04:32:46 +0000 (21:32 -0700)
stdlib_tests/3005_or.pvvs [new file with mode: 0644]
stdlib_tests/vv_test.py

diff --git a/stdlib_tests/3005_or.pvvs b/stdlib_tests/3005_or.pvvs
new file mode 100644 (file)
index 0000000..756f8e1
--- /dev/null
@@ -0,0 +1,37 @@
+@ Test 0 v 0 = 0
+SSSSN           | PUSH 0
+SSSSN           | PUSH 0
+NSTTSTSTSN      | JSR > 101010 (or)
+NSTTSSTN        | JSR > 1001 (print number from stack)
+
+@ Test 0 v 1 = 1
+SSSSN           | PUSH 0
+SSSTN           | PUSH +1
+NSTTSTSTSN      | JSR > 101010 (or)
+NSTTSSTN        | JSR > 1001 (print number from stack)
+
+@ Test 1 v 1 = 1
+SSSTN           | PUSH +1
+SSSTN           | PUSH +1
+NSTTSTSTSN      | JSR > 101010 (or)
+NSTTSSTN        | JSR > 1001 (print number from stack)
+
+@ Test 1 v 1...1 = 1...1
+SSSTN           | PUSH +1
+SSTTN           | PUSH -1
+NSTTSTSTSN      | JSR > 101010 (or)
+NSTTSSTN        | JSR > 1001 (print number from stack)
+
+@ Test 1010...1010 v 0101...0101 = 1...1
+@ Note that -6148914691236517206 = 1010...1010 in twos-complement but we 
+@ enter it in sign magnitude format so the bit pattern appears different.
+SSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTTSN | PUSH -6148914691236517206
+SSSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTN  | PUSH +6148914691236517205
+NSTTSTSTSN      | JSR > 101010 (or)
+NSTTSSTN        | JSR > 1001 (print number from stack)
+
+@ All done.
+NNN             | DIE
+
+#include <logic.pvvs>
+#include <stdio.pvvs>
index 7ac408c..2674b03 100755 (executable)
@@ -34,6 +34,7 @@ tests = [
         ['3002_lshift', '', '+1+2+4611686018427387904-9223372036854775808-9223372036854775808+0'],
         ['3003_rshift', '', '+1+1+1-4611686018427387903-576460752303423478-1-1'],
         ['3004_and', '', '+0+0+1+1+42'],
         ['3002_lshift', '', '+1+2+4611686018427387904-9223372036854775808-9223372036854775808+0'],
         ['3003_rshift', '', '+1+1+1-4611686018427387903-576460752303423478-1-1'],
         ['3004_and', '', '+0+0+1+1+42'],
+        ['3005_or', '', '+0+1+1-1-1'],
         ] 
 
 for test in tests:
         ] 
 
 for test in tests: