+TSSS | ADD
+TTT | LOAD
+SNT | SWAP
+SSTSN | PUSH 2 (ptr)
+TTT | LOAD
+TSSS | ADD
+TTT | LOAD
+TSST | SUBTRACT
+NTSSSSTTSTTSSSSSSTSN | BRZ > 00011011 00000010 (jump if words match)
+
+@ Return 'match? = false'
+SNN | DROP
+SSSTN | PUSH 1
+NTN | RTS
+
+@ Decrement and loop again if loop is not complete.
+NSSVSSSTTSTTSSSSSSTSN | Mark: 00011011 00000010
+SNS | DUP
+NTSSSSTTSTTSSSSSSSTN | BRZ > 00011011 00000001 (jump if loop is complete)
+SSSTN | PUSH 1
+TSST | SUBTRACT
+NSNSSSTTSTTSSSSSSSSN | JMP > 00011011 00000000
+
+@ Return 'match? = true'
+NSSVSSSTTSTTSSSSSSSTN | Mark: 00011011 00000001
+SNN | DROP
+SSSSN | PUSH 0
+NTN | RTS
+
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@ Name:
+@ memsrch (11100)
+@ Description:
+@ Searches the heap from 'address' to 'address+count'.
+@ If 'pattern' is found, the return value is a pointer to the matching word.
+@ If not found, the return value is a null pointer.
+@ Call Stack:
+@ pattern
+@ count
+@ address <-- TOS
+@ Return Stack:
+@ pointer <-- TOS
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+NSSVTTTSSN | Mark: 11100 (memsrch)
+SSSTTN | PUSH 3
+NSTTSSSSSTN | JSR > 1000001 (spewreg)
+
+@ Compare one word on each pass through this loop.
+NSSVSSSTTTSSSSSSSSSSN | Mark: 00011100 00000000
+SNS | DUP
+SSSTN | PUSH 1 (ptr)