From 24e4f91be7b06eb75e11db6f684d157f61fda8ba Mon Sep 17 00:00:00 2001 From: Aaron Taylor Date: Wed, 31 Jul 2019 15:05:12 -0700 Subject: [PATCH] Added tests for `not` subroutine in stdlib. --- stdlib_tests/3001_not.pvvs | 28 ++++++++++++++++++++++++++++ stdlib_tests/vv_test.py | 1 + 2 files changed, 29 insertions(+) create mode 100644 stdlib_tests/3001_not.pvvs diff --git a/stdlib_tests/3001_not.pvvs b/stdlib_tests/3001_not.pvvs new file mode 100644 index 0000000..8af83b3 --- /dev/null +++ b/stdlib_tests/3001_not.pvvs @@ -0,0 +1,28 @@ +@ All zeros to all ones +SSSSN | PUSH 0 +NSTTSTSSSN | JSR > 101000 (not) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ All ones to all zeros +SSTTN | PUSH -1 +NSTTSTSSSN | JSR > 101000 (not) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ Test alternating bits, leading zero. +@ Note that 6148914691236517205 = 0101...0101 +SSSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTN | PUSH +6148914691236517205 +NSTTSTSSSN | JSR > 101000 (not) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ Test alternating bits, leading one. +@ 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 +NSTTSTSSSN | JSR > 101000 (not) +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 381a732..bc8d27c 100755 --- a/stdlib_tests/vv_test.py +++ b/stdlib_tests/vv_test.py @@ -30,6 +30,7 @@ tests = [ ['2005_memcmp', '', '+1'], ['2006_memsrch', '', '+32'], ['2007_memrand', '', ''], + ['3001_not', '', '-1+0-6148914691236517206+6148914691236517205'], ] for test in tests: -- 2.20.1