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