-
Notifications
You must be signed in to change notification settings - Fork 0
/
example1.asm
150 lines (121 loc) · 2.11 KB
/
example1.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#Memory addresses
.constant PA 0x1B1A
.constant PB 0x1B1B
.constant CURSORX 0x4000
.constant CURSORY 0x4001
.constant LEDCOLOR 0x4002
.constant CIRCLE 0x4003
.constant SQUARE 0x4004
.constant SSD1 0x4010
.constant SSD2 0x4011
.constant SSD3 0x4012
.constant SSD4 0x4013
.constant READBTN 0x4020
.constant READDIP 0x4030
.constant LCDX 0x4040
.constant LCDY 0x4041
.constant LCDCHAR 0x4042
.address 0x2000
!main
MOVI R2, 0
STOR R2, [LCDY]
MOVI R1, 0
MOVI R3, 'h'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'e'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'l'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'l'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'o'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (2)
MOVI R3, 'w'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'o'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'r'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'l'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'd'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
MOVI R1, 0
ADD R2, R2, (1)
MOVI R3, 't'
STOR R1, [LCDX]
STOR R2, [LCDY]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'h'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'i'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 's'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (2)
MOVI R3, 'i'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 's'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (2)
MOVI R3, 'e'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'd'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'i'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 's'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'o'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'n'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (2)
MOVI R3, 'j'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
ADD R1, R1, (1)
MOVI R3, 'r'
STOR R1, [LCDX]
STOR R3, [LCDCHAR]
!loop
BRA [!loop]