+@ Clean up and return
+NSSVSSSTTSSTSSSSSSSTN | Mark: 00011001 00000001
+SNN | DROP
+NTN | RTS
+
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@ Name:
+@ memrand (11010)
+@ Description:
+@ Writes random words into memory locations 'startaddr' to 'startaddr+count'.
+@ Call Stack:
+@ count
+@ startaddr <-- TOS
+@ Return Stack:
+@ <empty>
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+#include <math.pvvs>
+NSSVTTSTSN | Mark: 11010 (memrand)
+SSSTN | PUSH 1
+NSTTSSSSSTN | JSR > 1000001 (spewreg)
+
+@ Store random word into one memory location on each pass through this loop.
+NSSVSSSTTSTSSSSSSSSSN | Mark: 00011010 00000000
+SNS | DUP
+SSSTN | PUSH 1 (ptr)
+TTT | LOAD
+TSSS | ADD
+NSTTSSSSN | JSR > 10000 (random)
+TTS | STORE
+
+@ Decrement and check loop end conditions
+SNS | DUP
+NTSSSSTTSTSSSSSSSSTN | BRZ > 00011010 00000001
+SSSTN | PUSH 1
+TSST | SUBTRACT
+NSNSSSTTSTSSSSSSSSSN | JMP > 00011010 00000000
+
+@ Clean up and return
+NSSVSSSTTSTSSSSSSSSTN | Mark: 00011010 00000001
+SNN | DROP
+NTN | RTS
+
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@ Name:
+@ memcmp (11011)
+@ Description:
+@ Compares two blocks of memory:
+@ blk1ptr -> blk1ptr+count
+@ -- versus --
+@ blk2ptr -> blk2ptr+count
+@ The return value is zero if the blocks are identical, otherwise non-zero.
+@ Call Stack:
+@ count
+@ blk1ptr
+@ blk2ptr <-- TOS
+@ Return Stack:
+@ retvalue <-- TOS
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+NSSVTTSTTN | Mark: 11011 (memcmp)
+SSSTSN | PUSH 2
+NSTTSSSSSTN | JSR > 1000001 (spewreg)
+
+@ Compare one word on each pass through this loop.
+NSSVSSSTTSTTSSSSSSSSN | Mark: 00011011 00000000
+SNS | DUP
+SNS | DUP
+SSSTN | PUSH 1 (ptr)
+TTT | LOAD
+TSSS | ADD
+TTT | LOAD
+SNT | SWAP
+SSTSN | PUSH 2 (ptr)
+TTT | LOAD
+TSSS | ADD