📄 lcd12864.lst
字号:
1 .file "lcd12864.c"
2 .arch atmega8
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global init
20 init:
21 .LFB3:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LM2:
26 0000 8FEF ldi r24,lo8(-1)
27 0002 88BB out 56-0x20,r24
28 .LM3:
29 0004 87BB out 55-0x20,r24
30 .LM4:
31 0006 85BB out 53-0x20,r24
32 .LM5:
33 0008 84BB out 52-0x20,r24
34 .LM6:
35 000a 82BB out 50-0x20,r24
36 .LM7:
37 000c 81BB out 49-0x20,r24
38 /* epilogue: frame size=0 */
39 000e 0895 ret
40 /* epilogue end (size=1) */
41 /* function init size 8 (7) */
42 .LFE3:
44 .global getState
46 getState:
47 .LFB4:
48 .LM8:
49 /* prologue: frame size=0 */
50 /* prologue end (size=0) */
51 .LM9:
52 0010 8FEF ldi r24,lo8(-1)
53 0012 88BB out 56-0x20,r24
54 .LM10:
55 0014 17BA out 55-0x20,__zero_reg__
56 .LM11:
57 0016 AA98 cbi 53-0x20,2
58 .LM12:
59 0018 AB98 cbi 53-0x20,3
60 .LM13:
61 001a A898 cbi 53-0x20,0
62 .LM14:
63 001c A99A sbi 53-0x20,1
64 .LM15:
65 001e AC9A sbi 53-0x20,4
66 .LM16:
67 0020 AC98 cbi 53-0x20,4
68 .LM17:
69 0022 86B3 in r24,54-0x20
70 .LM18:
71 0024 9927 clr r25
72 /* epilogue: frame size=0 */
73 0026 0895 ret
74 /* epilogue end (size=1) */
75 /* function getState size 12 (11) */
76 .LFE4:
78 .global lcdBusy
80 lcdBusy:
81 .LFB5:
82 .LM19:
83 /* prologue: frame size=0 */
84 /* prologue end (size=0) */
85 .LM20:
86 0028 F3DF rcall getState
87 .LM21:
88 002a 9927 clr r25
89 002c 87FD sbrc r24,7
90 002e 9095 com r25
91 .LM22:
92 0030 8827 clr r24
93 0032 990F lsl r25
94 0034 881F rol r24
95 0036 9927 clr r25
96 /* epilogue: frame size=0 */
97 0038 0895 ret
98 /* epilogue end (size=1) */
99 /* function lcdBusy size 9 (8) */
100 .LFE5:
102 .global lcdCommand
104 lcdCommand:
105 .LFB6:
106 .LM23:
107 /* prologue: frame size=0 */
108 /* prologue end (size=0) */
109 003a 982F mov r25,r24
110 .LM24:
111 003c 8FEF ldi r24,lo8(-1)
112 003e 87BB out 55-0x20,r24
113 .LM25:
114 0040 AA98 cbi 53-0x20,2
115 .LM26:
116 0042 AB98 cbi 53-0x20,3
117 .LM27:
118 0044 A898 cbi 53-0x20,0
119 .LM28:
120 0046 A998 cbi 53-0x20,1
121 .LM29:
122 0048 98BB out 56-0x20,r25
123 .LM30:
124 004a AC9A sbi 53-0x20,4
125 .LM31:
126 004c AC98 cbi 53-0x20,4
127 /* epilogue: frame size=0 */
128 004e 0895 ret
129 /* epilogue end (size=1) */
130 /* function lcdCommand size 11 (10) */
131 .LFE6:
133 .global lcdSetRow
135 lcdSetRow:
136 .LFB10:
137 .LM32:
138 /* prologue: frame size=0 */
139 0050 CF93 push r28
140 /* prologue end (size=1) */
141 .LM33:
142 0052 C82F mov r28,r24
143 0054 CF73 andi r28,lo8(63)
144 .LM34:
145 0056 C064 ori r28,lo8(64)
146 .L8:
147 .LM35:
148 0058 E7DF rcall lcdBusy
149 005a 8823 tst r24
150 005c E9F7 brne .L8
151 .LM36:
152 005e 8C2F mov r24,r28
153 0060 ECDF rcall lcdCommand
154 /* epilogue: frame size=0 */
155 0062 CF91 pop r28
156 0064 0895 ret
157 /* epilogue end (size=2) */
158 /* function lcdSetRow size 11 (8) */
159 .LFE10:
161 .global lcdSetPage
163 lcdSetPage:
164 .LFB9:
165 .LM37:
166 /* prologue: frame size=0 */
167 0066 CF93 push r28
168 /* prologue end (size=1) */
169 .LM38:
170 0068 C82F mov r28,r24
171 006a C770 andi r28,lo8(7)
172 .LM39:
173 006c C86B ori r28,lo8(-72)
174 .L12:
175 .LM40:
176 006e DCDF rcall lcdBusy
177 0070 8823 tst r24
178 0072 E9F7 brne .L12
179 .LM41:
180 0074 8C2F mov r24,r28
181 0076 E1DF rcall lcdCommand
182 /* epilogue: frame size=0 */
183 0078 CF91 pop r28
184 007a 0895 ret
185 /* epilogue end (size=2) */
186 /* function lcdSetPage size 11 (8) */
187 .LFE9:
189 .global lcdStartLine
191 lcdStartLine:
192 .LFB8:
193 .LM42:
194 /* prologue: frame size=0 */
195 007c CF93 push r28
196 /* prologue end (size=1) */
197 .LM43:
198 007e C82F mov r28,r24
199 0080 C06C ori r28,lo8(-64)
200 .L16:
201 .LM44:
202 0082 D2DF rcall lcdBusy
203 0084 8823 tst r24
204 0086 E9F7 brne .L16
205 .LM45:
206 0088 8C2F mov r24,r28
207 008a D7DF rcall lcdCommand
208 /* epilogue: frame size=0 */
209 008c CF91 pop r28
210 008e 0895 ret
211 /* epilogue end (size=2) */
212 /* function lcdStartLine size 10 (7) */
213 .LFE8:
215 .global lcdOpen
217 lcdOpen:
218 .LFB7:
219 .LM46:
220 /* prologue: frame size=0 */
221 /* prologue end (size=0) */
222 .L20:
223 .LM47:
224 0090 CBDF rcall lcdBusy
225 0092 8823 tst r24
226 0094 E9F7 brne .L20
227 .LM48:
228 0096 8FE3 ldi r24,lo8(63)
229 0098 D0DF rcall lcdCommand
230 /* epilogue: frame size=0 */
231 009a 0895 ret
232 /* epilogue end (size=1) */
233 /* function lcdOpen size 6 (5) */
234 .LFE7:
236 .global lcdWrite
238 lcdWrite:
239 .LFB11:
240 .LM49:
241 /* prologue: frame size=0 */
242 009c 1F93 push r17
243 009e CF93 push r28
244 /* prologue end (size=2) */
245 00a0 182F mov r17,r24
246 00a2 C62F mov r28,r22
247 .L24:
248 .LM50:
249 00a4 C1DF rcall lcdBusy
250 00a6 8823 tst r24
251 00a8 E9F7 brne .L24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -