X-Git-Url: http://git.subgeniuskitty.com/vvhitespace/.git/blobdiff_plain/c6e2791fac7c7b29257588f99d350371d2e10627..aa1914c32f7a14053c21c3a58091cf474af7ceb0:/stdlib/debug.pvvs diff --git a/stdlib/debug.pvvs b/stdlib/debug.pvvs index 4362a53..d272b6c 100644 --- a/stdlib/debug.pvvs +++ b/stdlib/debug.pvvs @@ -24,7 +24,7 @@ @ Return Stack: @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -NSSVTTTSSSN | Mark: 111000 (dump heap) +NSSVTTTSSSN | Mark: 111000 (debug:dumpheap) @ Prepare a numeric address and value on the stack SNS | DUP @@ -74,7 +74,7 @@ NTN | RTS @ Return Stack: @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -NSSVTTTSSTN | Mark: 111001 (dump stack) +NSSVTTTSSTN | Mark: 111001 (debug:dumpstack) @ Orient the user SSSSSSSSSN | PUSH ASCII '\0' @@ -101,10 +101,10 @@ SSSTSTSN | PUSH ASCII '\n' TNSS | PUTC @ Figure out if the loop is complete. -SNS | DUP -NTSSSTTTSSTSSSSSSSSN | BRZ > 00111001 00000000 SSSTN | PUSH 1 TSST | SUBTRACT +SNS | DUP +NTSSSTTTSSTSSSSSSSSN | BRZ > 00111001 00000000 NSNSSTTTSSTSSSSSSSTN | JMP > 00111001 00000001 @ Clean up and return @@ -204,4 +204,36 @@ NSSVSSTTTTSSSSSSSSSTN | Mark: 00111100 00000001 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: +@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +NSSVTTTTSTN | Mark: 111101 (debug:printsignednumber) +SNS | DUP +NSTTTTSTSN | JSR > 111010 (debug:printsign) +NSTTTTSTTN | JSR > 111011 (debug:printmagnitude) +NTN | RTS + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@ Name: +@ stdlib_version (111110) +@ Description: +@ Returns the version of the stdlib. +@ The version number should be a monotonically increasing integer. +@ Call Stack: +@ <-- TOS +@ Return Stack: +@ version_number <-- TOS +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +NSSVTTTTTSN | Mark: 111110 (debug:printsignednumber) +SSSTN | PUSH 1 (version) +NTN | RTS + #endif