From 8fcdc866155b7ec8d760b2125aa053de836380da Mon Sep 17 00:00:00 2001 From: Aaron Taylor Date: Wed, 31 Jul 2019 21:32:46 -0700 Subject: [PATCH] Added tests for `or` subroutine from stdlib. --- stdlib_tests/3005_or.pvvs | 37 +++++++++++++++++++++++++++++++++++++ stdlib_tests/vv_test.py | 1 + 2 files changed, 38 insertions(+) create mode 100644 stdlib_tests/3005_or.pvvs diff --git a/stdlib_tests/3005_or.pvvs b/stdlib_tests/3005_or.pvvs new file mode 100644 index 0000000..756f8e1 --- /dev/null +++ b/stdlib_tests/3005_or.pvvs @@ -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 +#include diff --git a/stdlib_tests/vv_test.py b/stdlib_tests/vv_test.py index 7ac408c..2674b03 100755 --- a/stdlib_tests/vv_test.py +++ b/stdlib_tests/vv_test.py @@ -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'], + ['3005_or', '', '+0+1+1-1-1'], ] for test in tests: -- 2.20.1