Commit | Line | Data |
---|---|---|
8bed3ccd AT |
1 | #ifndef VVS_STDLIB_STDIO |
2 | #define VVS_STDLIB_STDIO | |
3 | ||
4 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | |
5 | @ Description: | |
6 | @ This function prints a null-terminated string from the stack. | |
7 | @ Call Stack: | |
8 | @ null-terminator (ASCII '\0') | |
9 | @ char n | |
10 | @ ... | |
11 | @ char 2 | |
12 | @ char 1 <-- TOS | |
13 | @ Return Stack: | |
14 | @ <empty> | |
15 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | |
32c440bf AT |
16 | NSSVTSSSN | Mark: 1000 (print string from stack) |
17 | SNS | DUP | |
18 | NTSSSSSTSSSSSSSSSSTN | BRZ > 00001000 00000001 | |
19 | TNSS | Print character | |
20 | NSNTSSSN | JMP > 1000 | |
21 | NSSVSSSSTSSSSSSSSSSTN | Mark: 00001000 00000001 | |
22 | SNN | DROP | |
23 | NTN | RTS | |
24 | ||
8bed3ccd AT |
25 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
26 | @ Description: | |
27 | @ This function prints a null-terminated string from the heap. | |
28 | @ Call Stack: | |
29 | @ pointer to first character <-- TOS | |
30 | @ Return Stack: | |
31 | @ <empty> | |
32 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | |
32c440bf AT |
33 | NSSVTSSTN | Mark: 1001 (print string from heap) |
34 | SNS | DUP | |
35 | TTT | LOAD | |
36 | SNS | DUP | |
37 | NTSSSSSTSSTSSSSSSSTN | BRZ > 00001001 00000001 | |
38 | TNSS | Print character | |
39 | SSSTN | Push +1 | |
40 | TSSS | ADD | |
41 | NSNTSSTN | JMP > 1001 | |
42 | NSSVSSSSTSSTSSSSSSSTN | Mark: 00001001 00000001 | |
43 | SNN | DROP | |
44 | SNN | DROP | |
45 | NTN | RTS | |
8bed3ccd AT |
46 | |
47 | #endif |