+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@ Name:
+@ slurp (11110)
+@ Description:
+@ Reads values from heap to stack in complementary order to 'spew'.
+@ Call Stack:
+@ address
+@ count <-- TOS
+@ Return Stack:
+@ heap[address+count]
+@ ...
+@ heap[address+1]
+@ heap[address] <-- TOS
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+#include <stack.pvvs>
+NSSVTTTTSN | Mark: 11110 (slurp)
+
+@ Load one word from heap on each pass.
+SNS | DUP
+SSSTTN | PUSH 3
+NSTTSTSN | JSR > 1010 (stackrotate)
+SNT | SWAP
+SNS | DUP
+SSSTTN | PUSH 3
+NSTTSTSN | JSR > 1010 (stackrotate)
+TSSS | ADD
+TTT | LOAD
+SSSTTN | PUSH 3
+NSTTSTSN | JSR > 1010 (stackrotate)
+SNT | SWAP
+
+@ Check for loop completion.
+SNS | DUP
+NTSSSSTTTTSSSSSSSSSN | BRZ > 00011110 00000000
+SSSTN | PUSH 1
+TSST | SUBTRACT
+NSNTTTTSN | JMP > 11110 (slurp)
+
+@ Clean up and return.
+NSSVSSSTTTTSSSSSSSSSN | Mark: 00011110 00000000
+SNN | DROP
+SNN | DROP
+NTN | RTS
+
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@ Name:
+@ spew (11111)
+@ Description:
+@ Writes values from stack to heap in this order:
+@ TOS -> heap[address]
+@ TOS+1 -> heap[address+1]
+@ ...
+@ TOS+n -> heap[address+count]
+@ Call Stack:
+@ data-words
+@ ...
+@ data-words
+@ address
+@ count <-- TOS
+@ Return Stack:
+@ <empty>
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+#include <stack.pvvs>
+NSSVTTTTTN | Mark: 11111 (spew)
+
+@ Create a counter that doubles as a dest. pointer offset generator.
+SSSSN | PUSH 0
+
+@ Store one word to heap on each pass.
+NSSVSSSTTTTTSSSSSSSSN | Mark: 00011111 00000000
+SNS | DUP
+SSSTSSN | PUSH 4
+NSTTTSSN | JSR > 1100 (deepdup)
+TSSS | ADD
+SSSTSTN | PUSH 5
+NSTTSTTN | JSR > 1011 (stackrotatereverse)
+TTS | STORE
+
+@ Check for loop completion.
+SNT | SWAP
+SNS | DUP
+SSSTTN | PUSH 3
+NSTTSTTN | JSR > 1011 (stackrotatereverse)
+SNS | DUP
+SSSTTN | PUSH 3
+NSTTSTTN | JSR > 1011 (stackrotatereverse)
+TSST | SUBTRACT
+NTSSSSTTTTTSSSSSSSTN | BRZ > 00011111 00000001
+
+@ Increment counter.
+SSSTN | PUSH 1
+TSSS | ADD
+NSNSSSTTTTTSSSSSSSSN | JMP > 00011111 00000000
+
+@ Clean up and return.
+NSSVSSSTTTTTSSSSSSSTN | Mark: 00011111 00000001
+SNN | DROP
+SNN | DROP
+SNN | DROP
+NTN | RTS