Commit | Line | Data |
---|---|---|
bc5b63cf AT |
1 | putchar |
2 | # Description: | |
3 | # Writes one character to the terminal. | |
4 | # Stack Requirements: | |
5 | # Character to write | |
6 | # Return PC <-- TOS | |
7 | WORD_134217728 # XBUF | |
8 | WORD_134217732 # XCSR | |
9 | LDSP+3 | |
10 | SWAP | |
11 | putcharloop | |
12 | LDSP+0 | |
13 | LOAD | |
14 | TEST | |
15 | BRZ>putcharloop | |
16 | TEST # Drop XCSR from stack | |
17 | SWAP | |
18 | STORE | |
19 | # Wrote the character. Clean up stack and return. | |
20 | STSP+0 | |
21 | RTS | |
22 | ||
23 | getchar | |
24 | # Description: | |
25 | # Reads one character from the terminal. | |
26 | # Stack Requirements: | |
27 | # Return PC <-- TOS | |
28 | WORD_134217736 # RBUF | |
29 | WORD_134217740 # RCSR | |
30 | getcharloop | |
31 | LDSP+0 | |
32 | LOAD | |
33 | TEST | |
34 | BRZ>getcharloop | |
35 | LDSP+1 | |
36 | LOAD | |
37 | # Found a character. Clean up stack and return. | |
38 | STSP+0 | |
39 | STSP+0 | |
40 | SWAP | |
41 | RTS |