| 1 | # ASCII NUL |
| 2 | WORD_0 |
| 3 | |
| 4 | # ASCII 'G' |
| 5 | WORD_70 |
| 6 | IM_1 |
| 7 | ADD |
| 8 | |
| 9 | # ASCII '1' |
| 10 | WORD_48 |
| 11 | IM_1 |
| 12 | ADD |
| 13 | |
| 14 | # ASCII '[' |
| 15 | WORD_90 |
| 16 | IM_1 |
| 17 | ADD |
| 18 | |
| 19 | # ASCII ESC |
| 20 | WORD_26 |
| 21 | IM_1 |
| 22 | ADD |
| 23 | |
| 24 | # ASCII 'K' |
| 25 | WORD_74 |
| 26 | IM_1 |
| 27 | ADD |
| 28 | |
| 29 | # ASCII '2' |
| 30 | WORD_50 |
| 31 | |
| 32 | # ASCII '[' |
| 33 | WORD_90 |
| 34 | IM_1 |
| 35 | ADD |
| 36 | |
| 37 | # ASCII ESC |
| 38 | WORD_26 |
| 39 | IM_1 |
| 40 | ADD |
| 41 | |
| 42 | # ASCII 'H' |
| 43 | WORD_72 |
| 44 | |
| 45 | |
| 46 | # Print characters |
| 47 | printstring |
| 48 | LDSP+0 |
| 49 | TEST |
| 50 | BRZ>halt |
| 51 | JSR>putchar |
| 52 | JMP>printstring |
| 53 | halt |
| 54 | TEST # Clean the null terminator off the stack. |
| 55 | HALT |
| 56 | |
| 57 | putchar |
| 58 | # Description: |
| 59 | # Writes one character to the terminal. |
| 60 | # Stack Requirements: |
| 61 | # Character to write |
| 62 | # Return PC <-- TOS |
| 63 | WORD_134217728 # XBUF |
| 64 | WORD_134217732 # XCSR |
| 65 | LDSP+3 |
| 66 | SWAP |
| 67 | putcharloop |
| 68 | LDSP+0 |
| 69 | LOAD |
| 70 | TEST |
| 71 | BRZ>putcharloop |
| 72 | TEST # Drop XCSR from stack |
| 73 | SWAP |
| 74 | STORE |
| 75 | # Wrote the character. Clean up stack and return. |
| 76 | STSP+0 |
| 77 | RTS |