X-Git-Url: http://git.subgeniuskitty.com/vvhitespace/.git/blobdiff_plain/8fcdc866155b7ec8d760b2125aa053de836380da..084022970bf50b1ad3873ae6ac45c702308212d6:/stdlib_tests/3006_xor.pvvs diff --git a/stdlib_tests/3006_xor.pvvs b/stdlib_tests/3006_xor.pvvs new file mode 100644 index 0000000..68a72d1 --- /dev/null +++ b/stdlib_tests/3006_xor.pvvs @@ -0,0 +1,37 @@ +@ Test 0 xor 0 = 0 +SSSSN | PUSH 0 +SSSSN | PUSH 0 +NSTTSTSTTN | JSR > 101110 (xor) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ Test 0 xor 1 = 1 +SSSSN | PUSH 0 +SSSTN | PUSH +1 +NSTTSTSTTN | JSR > 101110 (xor) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ Test 1 xor 1 = 0 +SSSTN | PUSH +1 +SSSTN | PUSH +1 +NSTTSTSTTN | JSR > 101110 (xor) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ Test 1 xor 1...1 = 1...10 +SSSTN | PUSH +1 +SSTTN | PUSH -1 +NSTTSTSTTN | JSR > 101110 (xor) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ Test 1010...1010 xor 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 +NSTTSTSTTN | JSR > 101110 (xor) +NSTTSSTN | JSR > 1001 (print number from stack) + +@ All done. +NNN | DIE + +#include +#include