Initial commit of files related to NED architecture.
[ned1] / software / assembly_fragments / ansi_escape.asm
CommitLineData
bc5b63cf
AT
1# ASCII NUL
2WORD_0
3
4# ASCII 'G'
5WORD_70
6IM_1
7ADD
8
9# ASCII '1'
10WORD_48
11IM_1
12ADD
13
14# ASCII '['
15WORD_90
16IM_1
17ADD
18
19# ASCII ESC
20WORD_26
21IM_1
22ADD
23
24# ASCII 'K'
25WORD_74
26IM_1
27ADD
28
29# ASCII '2'
30WORD_50
31
32# ASCII '['
33WORD_90
34IM_1
35ADD
36
37# ASCII ESC
38WORD_26
39IM_1
40ADD
41
42# ASCII 'H'
43WORD_72
44
45
46# Print characters
47printstring
48 LDSP+0
49 TEST
50 BRZ>halt
51 JSR>putchar
52 JMP>printstring
53halt
54 TEST # Clean the null terminator off the stack.
55 HALT
56
57putchar
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
67putcharloop
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