+#ifndef VVS_STDLIB_STRING
+#define VVS_STDLIB_STRING
+
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@ Name:
+@ strlen (100000)
+@ Description:
+@ Counts number of words in a null-terminated string.
+@ Returned number does not include the null-terminator.
+@ Call Stack:
+@ pointer to first character <-- TOS
+@ Return Stack:
+@ number of words in string <-- TOS
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+NSSVTSSSSSN | Mark: 100000 (strlen)
+
+@ Create a length counter.
+SSSSN | PUSH 0
+SNT | SWAP
+
+@ Increment the counter (and pointer) on each pass through the loop.
+NSSVSSTSSSSSSSSSSSSSN | Mark: 00100000 00000000
+SNS | DUP
+TTT | LOAD
+NTSSSTSSSSSSSSSSSSTN | BRZ > 00100000 00000001
+SNT | SWAP
+SSSTN | PUSH 1
+TSSS | ADD
+SNT | SWAP
+SSSTN | PUSH 1
+TSSS | ADD
+NSNSSTSSSSSSSSSSSSSN | JMP > 00100000 00000000
+
+@ Clean up and return.
+NSSVSSTSSSSSSSSSSSSTN | Mark: 00100000 00000001
+SNN | DROP
+NTN | RTS
+
+#endif