#ifndef VVS_STDLIB_STDIO #define VVS_STDLIB_STDIO @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Description: @ This function prints a null-terminated string from the stack. @ Call Stack: @ null-terminator (ASCII '\0') @ char n @ ... @ char 2 @ char 1 <-- TOS @ Return Stack: @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ NSSVTSSSN | Mark: 1000 (print string from stack) SNS | DUP NTSSSSSTSSSSSSSSSSTN | BRZ > 00001000 00000001 TNSS | Print character NSNTSSSN | JMP > 1000 NSSVSSSSTSSSSSSSSSSTN | Mark: 00001000 00000001 SNN | DROP NTN | RTS @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Description: @ This function prints a null-terminated string from the heap. @ Call Stack: @ pointer to first character <-- TOS @ Return Stack: @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ NSSVTSSTN | Mark: 1001 (print string from heap) SNS | DUP TTT | LOAD SNS | DUP NTSSSSSTSSTSSSSSSSTN | BRZ > 00001001 00000001 TNSS | Print character SSSTN | Push +1 TSSS | ADD NSNTSSTN | JMP > 1001 NSSVSSSSTSSTSSSSSSSTN | Mark: 00001001 00000001 SNN | DROP SNN | DROP NTN | RTS #endif