68a72d1a3410d3b70faf3a32d2c53c10a0a1395d
[vvhitespace] / stdlib_tests / 3006_xor.pvvs
@ 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 <logic.pvvs>
#include <stdio.pvvs>