Updated tests to use printsignednumber subroutine from debug.pvvs instead of stdio...
authorAaron Taylor <ataylor@subgeniuskitty.com>
Sun, 8 Sep 2019 11:25:30 +0000 (04:25 -0700)
committerAaron Taylor <ataylor@subgeniuskitty.com>
Sun, 8 Sep 2019 11:25:30 +0000 (04:25 -0700)
12 files changed:
stdlib/README.md
stdlib/debug.pvvs
stdlib_tests/2005_memcmp.pvvs
stdlib_tests/2006_memsrch.pvvs
stdlib_tests/3001_not.pvvs
stdlib_tests/3002_lshift.pvvs
stdlib_tests/3003_rshift.pvvs
stdlib_tests/3004_and.pvvs
stdlib_tests/3005_or.pvvs
stdlib_tests/3006_xor.pvvs
stdlib_tests/4001_strlen.pvvs
stdlib_tests/5001_abs.pvvs

index 9e1338f..99f3e69 100644 (file)
@@ -67,6 +67,7 @@ header comment for each function to learn the call and return stack.
          111010 ----- print sign                    (debug.pvvs)
          111011 ----- print magnitude               (debug.pvvs)
          111100 ----- print string                  (debug.pvvs)
          111010 ----- print sign                    (debug.pvvs)
          111011 ----- print magnitude               (debug.pvvs)
          111100 ----- print string                  (debug.pvvs)
+         111101 ----- print signed number           (debug.pvvs)
         1xxxxxx - reserved for less common entry points
         1000000 ----- lowbitand                     (logic.pvvs)
         1000001 ----- <empty>
         1xxxxxx - reserved for less common entry points
         1000000 ----- lowbitand                     (logic.pvvs)
         1000001 ----- <empty>
index 960c65b..4114d22 100644 (file)
@@ -24,7 +24,7 @@
 @ Return Stack:
 @   <empty>
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @ Return Stack:
 @   <empty>
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-NSSVTTTSSSN              | Mark: 111000 (dump heap)
+NSSVTTTSSSN              | Mark: 111000 (debug:dumpheap)
 
 @ Prepare a numeric address and value on the stack
 SNS                      | DUP
 
 @ Prepare a numeric address and value on the stack
 SNS                      | DUP
@@ -74,7 +74,7 @@ NTN                      | RTS
 @ Return Stack:
 @   <empty>
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @ Return Stack:
 @   <empty>
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-NSSVTTTSSTN              | Mark: 111001 (dump stack)
+NSSVTTTSSTN              | Mark: 111001 (debug:dumpstack)
 
 @ Orient the user
 SSSSSSSSSN               | PUSH ASCII '\0'
 
 @ Orient the user
 SSSSSSSSSN               | PUSH ASCII '\0'
@@ -204,4 +204,21 @@ NSSVSSTTTTSSSSSSSSSTN   | Mark: 00111100 00000001
 SNN                     | DROP
 NTN                     | RTS
 
 SNN                     | DROP
 NTN                     | RTS
 
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@ Name:
+@   printsignednumber (111101)
+@ Description:
+@   Prints 'number' from the stack in sign-magnitude format.
+@   Leading zeros are suppressed.
+@ Call Stack:
+@   number  <-- TOS
+@ Return Stack:
+@   <empty>
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+NSSVTTTTSTN             | Mark: 111101 (debug:printsignednumber)
+SNS                     | DUP
+NSTTTTSTSN              | JSR > 111010 (debug:printsign)
+NSTTTTSTTN              | JSR > 111011 (debug:printmagnitude)
+NTN                     | RTS
+
 #endif
 #endif
index 5c59238..cd339b3 100644 (file)
@@ -16,9 +16,9 @@ SSSTSSSSSN      | PUSH 32 (blk1ptr)
 SSSTSSSSSSN     | PUSH 64 (blk2ptr)
 NSTTTSTTN       | JSR > 11011 (memcmp)
 
 SSSTSSSSSSN     | PUSH 64 (blk2ptr)
 NSTTTSTTN       | JSR > 11011 (memcmp)
 
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 NNN             | DIE
 
 #include <heap.pvvs>
 
 NNN             | DIE
 
 #include <heap.pvvs>
-#include <stdio.pvvs>
+#include <debug.pvvs>
index 406f936..5bd1c87 100644 (file)
@@ -10,9 +10,9 @@ SSSTSSSN        | PUSH 8 (count)
 SSSSTTTSSN      | PUSH 28 (address)
 NSTTTTSSN       | JSR > 11100 (memsrch)
 
 SSSSTTTSSN      | PUSH 28 (address)
 NSTTTTSSN       | JSR > 11100 (memsrch)
 
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 NNN             | DIE
 
 #include <heap.pvvs>
 
 NNN             | DIE
 
 #include <heap.pvvs>
-#include <stdio.pvvs>
+#include <debug.pvvs>
index 8af83b3..5bd49e2 100644 (file)
@@ -1,28 +1,28 @@
 @ All zeros to all ones
 SSSSN           | PUSH 0
 NSTTSTSSSN      | JSR > 101000 (not)
 @ All zeros to all ones
 SSSSN           | PUSH 0
 NSTTSTSSSN      | JSR > 101000 (not)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ All ones to all zeros
 SSTTN           | PUSH -1
 NSTTSTSSSN      | JSR > 101000 (not)
 
 @ All ones to all zeros
 SSTTN           | PUSH -1
 NSTTSTSSSN      | JSR > 101000 (not)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test alternating bits, leading zero.
 @ Note that 6148914691236517205 = 0101...0101
 SSSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTN  | PUSH +6148914691236517205
 NSTTSTSSSN      | JSR > 101000 (not)
 
 @ Test alternating bits, leading zero.
 @ Note that 6148914691236517205 = 0101...0101
 SSSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTN  | PUSH +6148914691236517205
 NSTTSTSSSN      | JSR > 101000 (not)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ 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)
 
 @ 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)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
-#include <stdio.pvvs>
+#include <debug.pvvs>
index c4650b2..192a4fc 100644 (file)
@@ -2,40 +2,40 @@
 SSSTN           | PUSH +1
 SSSSN           | PUSH 0
 NSTTSTTSTN      | JSR > 101101 (lshift)
 SSSTN           | PUSH +1
 SSSSN           | PUSH 0
 NSTTSTTSTN      | JSR > 101101 (lshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Shift by one.
 SSSTN           | PUSH +1
 SSSTN           | PUSH +1
 NSTTSTTSTN      | JSR > 101101 (lshift)
 
 @ Shift by one.
 SSSTN           | PUSH +1
 SSSTN           | PUSH +1
 NSTTSTTSTN      | JSR > 101101 (lshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Shift by 62.
 SSSTN           | PUSH +1
 SSSTTTTTSN      | PUSH +62
 NSTTSTTSTN      | JSR > 101101 (lshift)
 
 @ Shift by 62.
 SSSTN           | PUSH +1
 SSSTTTTTSN      | PUSH +62
 NSTTSTTSTN      | JSR > 101101 (lshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Shift by 63.
 SSSTN           | PUSH +1
 SSSTTTTTTN      | PUSH +63
 NSTTSTTSTN      | JSR > 101101 (lshift)
 
 @ Shift by 63.
 SSSTN           | PUSH +1
 SSSTTTTTTN      | PUSH +63
 NSTTSTTSTN      | JSR > 101101 (lshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Shift all ones until a single one remains.
 SSTTN           | PUSH -1
 SSSTTTTTTN      | PUSH +63
 NSTTSTTSTN      | JSR > 101101 (lshift)
 
 @ Shift all ones until a single one remains.
 SSTTN           | PUSH -1
 SSSTTTTTTN      | PUSH +63
 NSTTSTTSTN      | JSR > 101101 (lshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Shift all ones to all zeros.
 SSTTN           | PUSH -1
 SSSTSSSSSSN     | PUSH +64
 NSTTSTTSTN      | JSR > 101101 (lshift)
 
 @ Shift all ones to all zeros.
 SSTTN           | PUSH -1
 SSSTSSSSSSN     | PUSH +64
 NSTTSTTSTN      | JSR > 101101 (lshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
-#include <stdio.pvvs>
+#include <debug.pvvs>
index 5c70023..2071e50 100644 (file)
@@ -2,19 +2,19 @@
 SSSTN           | PUSH +1
 SSSSN           | PUSH 0
 NSTTSTTSSN      | JSR > 101100 (rshift)
 SSSTN           | PUSH +1
 SSSSN           | PUSH 0
 NSTTSTTSSN      | JSR > 101100 (rshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Shift by one, positive sign extension.
 SSSTSN          | PUSH +2
 SSSTN           | PUSH +1
 NSTTSTTSSN      | JSR > 101100 (rshift)
 
 @ Shift by one, positive sign extension.
 SSSTSN          | PUSH +2
 SSSTN           | PUSH +1
 NSTTSTTSSN      | JSR > 101100 (rshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Shift by four, positive sign extension.
 SSSTSSSSN       | PUSH +16
 SSSTSSN         | PUSH +4
 NSTTSTTSSN      | JSR > 101100 (rshift)
 
 @ Shift by four, positive sign extension.
 SSSTSSSSN       | PUSH +16
 SSSTSSN         | PUSH +4
 NSTTSTTSSN      | JSR > 101100 (rshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Shift by one, negative sign extension.
 @ -9223372036854775805 = 1000000000000000000000000000000000000000000000000000000000000011
 
 @ Shift by one, negative sign extension.
 @ -9223372036854775805 = 1000000000000000000000000000000000000000000000000000000000000011
@@ -22,7 +22,7 @@ NSTTSSTN        | JSR > 1001 (print number from stack)
 SSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTN | PUSH -9223372036854775805
 SSSTN           | PUSH +1
 NSTTSTTSSN      | JSR > 101100 (rshift)
 SSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTN | PUSH -9223372036854775805
 SSSTN           | PUSH +1
 NSTTSTTSSN      | JSR > 101100 (rshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Shift by four, negative sign extension
 @ -9223372036854775638 = 1000000000000000000000000000000000000000000000000000000010101010
 
 @ Shift by four, negative sign extension
 @ -9223372036854775638 = 1000000000000000000000000000000000000000000000000000000010101010
@@ -30,22 +30,22 @@ NSTTSSTN        | JSR > 1001 (print number from stack)
 SSTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTSTSTTSN | PUSH -9223372036854775638
 SSSTSSN         | PUSH +4
 NSTTSTTSSN      | JSR > 101100 (rshift)
 SSTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTSTSTTSN | PUSH -9223372036854775638
 SSSTSSN         | PUSH +4
 NSTTSTTSSN      | JSR > 101100 (rshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test for special case: rshift(-1) = -1
 SSTTN           | PUSH -1
 SSSTN           | PUSH +1
 NSTTSTTSSN      | JSR > 101100 (rshift)
 
 @ Test for special case: rshift(-1) = -1
 SSTTN           | PUSH -1
 SSSTN           | PUSH +1
 NSTTSTTSSN      | JSR > 101100 (rshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Shift a single 1 in the MSb into all ones
 SSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSN | PUSH -(2^63)
 SSSTTTTTTN      | PUSH +63
 NSTTSTTSSN      | JSR > 101100 (rshift)
 
 @ Shift a single 1 in the MSb into all ones
 SSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSN | PUSH -(2^63)
 SSSTTTTTTN      | PUSH +63
 NSTTSTTSSN      | JSR > 101100 (rshift)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
-#include <stdio.pvvs>
+#include <debug.pvvs>
index a468c82..d850925 100644 (file)
@@ -2,25 +2,25 @@
 SSSSN           | PUSH 0
 SSSSN           | PUSH 0
 NSTTSTSSTN      | JSR > 101001 (and)
 SSSSN           | PUSH 0
 SSSSN           | PUSH 0
 NSTTSTSSTN      | JSR > 101001 (and)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 0 ^ 1 = 0
 SSSSN           | PUSH 0
 SSSTN           | PUSH +1
 NSTTSTSSTN      | JSR > 101001 (and)
 
 @ Test 0 ^ 1 = 0
 SSSSN           | PUSH 0
 SSSTN           | PUSH +1
 NSTTSTSSTN      | JSR > 101001 (and)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 1 ^ 1 = 1
 SSSTN           | PUSH +1
 SSSTN           | PUSH +1
 NSTTSTSSTN      | JSR > 101001 (and)
 
 @ Test 1 ^ 1 = 1
 SSSTN           | PUSH +1
 SSSTN           | PUSH +1
 NSTTSTSSTN      | JSR > 101001 (and)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 1 ^ 1...1 = 1
 SSSTN           | PUSH +1
 SSTTN           | PUSH -1
 NSTTSTSSTN      | JSR > 101001 (and)
 
 @ Test 1 ^ 1...1 = 1
 SSSTN           | PUSH +1
 SSTTN           | PUSH -1
 NSTTSTSSTN      | JSR > 101001 (and)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 1010...1010 ^ 111111 = 101010
 @ Note that -6148914691236517206 = 1010...1010 in twos-complement but we 
 
 @ Test 1010...1010 ^ 111111 = 101010
 @ Note that -6148914691236517206 = 1010...1010 in twos-complement but we 
@@ -28,10 +28,10 @@ NSTTSSTN        | JSR > 1001 (print number from stack)
 SSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTTSN | PUSH -6148914691236517206
 SSSTTTTTTN      | PUSH +63
 NSTTSTSSTN      | JSR > 101001 (and)
 SSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTTSN | PUSH -6148914691236517206
 SSSTTTTTTN      | PUSH +63
 NSTTSTSSTN      | JSR > 101001 (and)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
-#include <stdio.pvvs>
+#include <debug.pvvs>
index 756f8e1..3ec0341 100644 (file)
@@ -2,25 +2,25 @@
 SSSSN           | PUSH 0
 SSSSN           | PUSH 0
 NSTTSTSTSN      | JSR > 101010 (or)
 SSSSN           | PUSH 0
 SSSSN           | PUSH 0
 NSTTSTSTSN      | JSR > 101010 (or)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 0 v 1 = 1
 SSSSN           | PUSH 0
 SSSTN           | PUSH +1
 NSTTSTSTSN      | JSR > 101010 (or)
 
 @ Test 0 v 1 = 1
 SSSSN           | PUSH 0
 SSSTN           | PUSH +1
 NSTTSTSTSN      | JSR > 101010 (or)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 1 v 1 = 1
 SSSTN           | PUSH +1
 SSSTN           | PUSH +1
 NSTTSTSTSN      | JSR > 101010 (or)
 
 @ Test 1 v 1 = 1
 SSSTN           | PUSH +1
 SSSTN           | PUSH +1
 NSTTSTSTSN      | JSR > 101010 (or)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 1 v 1...1 = 1...1
 SSSTN           | PUSH +1
 SSTTN           | PUSH -1
 NSTTSTSTSN      | JSR > 101010 (or)
 
 @ Test 1 v 1...1 = 1...1
 SSSTN           | PUSH +1
 SSTTN           | PUSH -1
 NSTTSTSTSN      | JSR > 101010 (or)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 1010...1010 v 0101...0101 = 1...1
 @ Note that -6148914691236517206 = 1010...1010 in twos-complement but we 
 
 @ Test 1010...1010 v 0101...0101 = 1...1
 @ Note that -6148914691236517206 = 1010...1010 in twos-complement but we 
@@ -28,10 +28,10 @@ NSTTSSTN        | JSR > 1001 (print number from stack)
 SSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTTSN | PUSH -6148914691236517206
 SSSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTN  | PUSH +6148914691236517205
 NSTTSTSTSN      | JSR > 101010 (or)
 SSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTTSN | PUSH -6148914691236517206
 SSSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTN  | PUSH +6148914691236517205
 NSTTSTSTSN      | JSR > 101010 (or)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
-#include <stdio.pvvs>
+#include <debug.pvvs>
index 68a72d1..f225190 100644 (file)
@@ -2,25 +2,25 @@
 SSSSN           | PUSH 0
 SSSSN           | PUSH 0
 NSTTSTSTTN      | JSR > 101110 (xor)
 SSSSN           | PUSH 0
 SSSSN           | PUSH 0
 NSTTSTSTTN      | JSR > 101110 (xor)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 0 xor 1 = 1
 SSSSN           | PUSH 0
 SSSTN           | PUSH +1
 NSTTSTSTTN      | JSR > 101110 (xor)
 
 @ Test 0 xor 1 = 1
 SSSSN           | PUSH 0
 SSSTN           | PUSH +1
 NSTTSTSTTN      | JSR > 101110 (xor)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 1 xor 1 = 0
 SSSTN           | PUSH +1
 SSSTN           | PUSH +1
 NSTTSTSTTN      | JSR > 101110 (xor)
 
 @ Test 1 xor 1 = 0
 SSSTN           | PUSH +1
 SSSTN           | PUSH +1
 NSTTSTSTTN      | JSR > 101110 (xor)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 1 xor 1...1 = 1...10
 SSSTN           | PUSH +1
 SSTTN           | PUSH -1
 NSTTSTSTTN      | JSR > 101110 (xor)
 
 @ Test 1 xor 1...1 = 1...10
 SSSTN           | PUSH +1
 SSTTN           | PUSH -1
 NSTTSTSTTN      | JSR > 101110 (xor)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test 1010...1010 xor 0101...0101 = 1...1
 @ Note that -6148914691236517206 = 1010...1010 in twos-complement but we 
 
 @ Test 1010...1010 xor 0101...0101 = 1...1
 @ Note that -6148914691236517206 = 1010...1010 in twos-complement but we 
@@ -28,10 +28,10 @@ NSTTSSTN        | JSR > 1001 (print number from stack)
 SSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTTSN | PUSH -6148914691236517206
 SSSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTN  | PUSH +6148914691236517205
 NSTTSTSTTN      | JSR > 101110 (xor)
 SSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTTSN | PUSH -6148914691236517206
 SSSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTN  | PUSH +6148914691236517205
 NSTTSTSTTN      | JSR > 101110 (xor)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
 
 @ All done.
 NNN             | DIE
 
 #include <logic.pvvs>
-#include <stdio.pvvs>
+#include <debug.pvvs>
index 7c0e0af..6878370 100644 (file)
@@ -5,10 +5,10 @@ NSTTTTTTN       | JSR > 11111 (spew)
 
 SSSTSSSSSN      | PUSH 32 (address)
 NSTTSSSSSN      | JSR > 100000 (strlen)
 
 SSSTSSSSSN      | PUSH 32 (address)
 NSTTSSSSSN      | JSR > 100000 (strlen)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 NNN             | DIE
 
 
 NNN             | DIE
 
-#include <stdio.pvvs>
+#include <debug.pvvs>
 #include <heap.pvvs>
 #include <string.pvvs>
 #include <heap.pvvs>
 #include <string.pvvs>
index 7898e56..daf70ca 100644 (file)
@@ -1,17 +1,17 @@
 @ +1 should remain +1
 SSSTN           | PUSH +1
 NSTTSSSTN       | JSR > 10001 (abs)
 @ +1 should remain +1
 SSSTN           | PUSH +1
 NSTTSSSTN       | JSR > 10001 (abs)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ -1 should become +1
 SSTTN           | PUSH -1
 NSTTSSSTN       | JSR > 10001 (abs)
 
 @ -1 should become +1
 SSTTN           | PUSH -1
 NSTTSSSTN       | JSR > 10001 (abs)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ 0 should remain 0
 SSSSN           | PUSH 0
 NSTTSSSTN       | JSR > 10001 (abs)
 
 @ 0 should remain 0
 SSSSN           | PUSH 0
 NSTTSSSTN       | JSR > 10001 (abs)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 
 @ Test the most negative number.
 @ It is impossible to return the true absolute value but should return zero.
 
 @ Test the most negative number.
 @ It is impossible to return the true absolute value but should return zero.
@@ -19,8 +19,9 @@ SSSTN           | PUSH +1
 SSSTTTTTTN      | PUSH +63
 NSTTSTTSTN      | JSR > 101101 (lshift)
 NSTTSSSTN       | JSR > 10001 (abs)
 SSSTTTTTTN      | PUSH +63
 NSTTSTTSTN      | JSR > 101101 (lshift)
 NSTTSSSTN       | JSR > 10001 (abs)
-NSTTSSTN        | JSR > 1001 (print number from stack)
+NSTTTTTSTN      | JSR > 111101 (debug:printsignednumber)
 NNN             | DIE
 
 NNN             | DIE
 
+#include <math.pvvs>
 #include <logic.pvvs>
 #include <logic.pvvs>
-#include <stdio.pvvs>
+#include <debug.pvvs>