📄 lcd.lst
字号:
1 .file "lcd.c"
2 .arch atmega128
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 LcdRead
20 LcdRead:
21 .LFB8:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LM2:
26 0000 14BA out 52-0x20,__zero_reg__
27 .LM3:
28 0002 15BA out 53-0x20,__zero_reg__
29 .LM4:
30 0004 C79A sbi 56-0x20,7
31 .LM5:
32 0006 949A sbi 50-0x20,4
33 .LM6:
34 0008 9698 cbi 50-0x20,6
35 .LM7:
36 000a 9598 cbi 50-0x20,5
37 .LM8:
38 000c 9498 cbi 50-0x20,4
39 .LM9:
40 000e 949A sbi 50-0x20,4
41 .LM10:
42 0010 83B3 in r24,51-0x20
43 .LM11:
44 0012 959A sbi 50-0x20,5
45 .LM12:
46 0014 9FEF ldi r25,lo8(-1)
47 0016 94BB out 52-0x20,r25
48 .LM13:
49 0018 95BB out 53-0x20,r25
50 001a 8074 andi r24,lo8(64)
51 .LM14:
52 001c 9927 clr r25
53 /* epilogue: frame size=0 */
54 001e 0895 ret
55 /* epilogue end (size=1) */
56 /* function LcdRead size 16 (15) */
57 .LFE8:
59 .global CmdWrite
61 CmdWrite:
62 .LFB9:
63 .LM15:
64 /* prologue: frame size=0 */
65 /* prologue end (size=0) */
66 .LVL0:
67 .LM16:
68 0020 C79A sbi 56-0x20,7
69 .LM17:
70 0022 949A sbi 50-0x20,4
71 .LM18:
72 0024 969A sbi 50-0x20,6
73 .LM19:
74 0026 85BB out 53-0x20,r24
75 .LM20:
76 0028 9598 cbi 50-0x20,5
77 .LM21:
78 002a C798 cbi 56-0x20,7
79 .LM22:
80 002c C79A sbi 56-0x20,7
81 .LM23:
82 002e 959A sbi 50-0x20,5
83 /* epilogue: frame size=0 */
84 0030 0895 ret
85 /* epilogue end (size=1) */
86 /* function CmdWrite size 9 (8) */
87 .LFE9:
89 .global DataWrite
91 DataWrite:
92 .LFB10:
93 .LM24:
94 /* prologue: frame size=0 */
95 0032 1F93 push r17
96 /* prologue end (size=1) */
97 .LVL1:
98 0034 182F mov r17,r24
99 .LVL2:
100 .L7:
101 .LM25:
102 0036 0E94 0000 call LcdRead
103 003a 8823 tst r24
104 003c 01F4 brne .L7
105 .LM26:
106 003e C79A sbi 56-0x20,7
107 .LM27:
108 0040 949A sbi 50-0x20,4
109 .LM28:
110 0042 9698 cbi 50-0x20,6
111 .LM29:
112 0044 15BB out 53-0x20,r17
113 .LM30:
114 0046 9598 cbi 50-0x20,5
115 .LM31:
116 0048 C798 cbi 56-0x20,7
117 .LM32:
118 004a C79A sbi 56-0x20,7
119 .LM33:
120 004c 959A sbi 50-0x20,5
121 /* epilogue: frame size=0 */
122 004e 1F91 pop r17
123 0050 0895 ret
124 /* epilogue end (size=2) */
125 /* function DataWrite size 16 (13) */
126 .LFE10:
128 .global FullScreenFill
130 FullScreenFill:
131 .LFB7:
132 .LM34:
133 /* prologue: frame size=0 */
134 0052 FF92 push r15
135 0054 0F93 push r16
136 0056 1F93 push r17
137 /* prologue end (size=3) */
138 .LVL3:
139 0058 182F mov r17,r24
140 005a 062F mov r16,r22
141 005c F42E mov r15,r20
142 .LM35:
143 005e 86E4 ldi r24,lo8(70)
144 .LVL4:
145 0060 0E94 0000 call CmdWrite
146 .LVL5:
147 .LM36:
148 0064 812F mov r24,r17
149 0066 0E94 0000 call DataWrite
150 .LM37:
151 006a 802F mov r24,r16
152 006c 0E94 0000 call DataWrite
153 .LM38:
154 0070 82E4 ldi r24,lo8(66)
155 0072 0E94 0000 call CmdWrite
156 0076 00E0 ldi r16,lo8(0)
157 .LVL6:
158 0078 00C0 rjmp .L13
159 .LVL7:
160 .L14:
161 .LM39:
162 007a 8F2D mov r24,r15
163 007c 0E94 0000 call DataWrite
164 .LM40:
165 0080 1F5F subi r17,lo8(-(1))
166 0082 1832 cpi r17,lo8(40)
167 0084 01F4 brne .L14
168 .LM41:
169 0086 0F5F subi r16,lo8(-(1))
170 0088 003F cpi r16,lo8(-16)
171 008a 01F0 breq .L17
172 .LVL8:
173 .L13:
174 .LM42:
175 008c 10E0 ldi r17,lo8(0)
176 .LVL9:
177 008e 00C0 rjmp .L14
178 .L17:
179 /* epilogue: frame size=0 */
180 0090 1F91 pop r17
181 0092 0F91 pop r16
182 0094 FF90 pop r15
183 0096 0895 ret
184 /* epilogue end (size=4) */
185 /* function FullScreenFill size 35 (28) */
186 .LFE7:
188 .global ClearScreen
190 ClearScreen:
191 .LFB12:
192 .LM43:
193 /* prologue: frame size=0 */
194 /* prologue end (size=0) */
195 .LM44:
196 0098 40E0 ldi r20,lo8(0)
197 009a 60E0 ldi r22,lo8(0)
198 009c 80E0 ldi r24,lo8(0)
199 009e 0E94 0000 call FullScreenFill
200 .LM45:
201 00a2 40E0 ldi r20,lo8(0)
202 00a4 68E2 ldi r22,lo8(40)
203 00a6 80E0 ldi r24,lo8(0)
204 00a8 0E94 0000 call FullScreenFill
205 .LM46:
206 00ac 40E0 ldi r20,lo8(0)
207 00ae 60E5 ldi r22,lo8(80)
208 00b0 80E0 ldi r24,lo8(0)
209 00b2 0E94 0000 call FullScreenFill
210 /* epilogue: frame size=0 */
211 00b6 0895 ret
212 /* epilogue end (size=1) */
213 /* function ClearScreen size 16 (15) */
214 .LFE12:
216 .global LCM_Screen_str
218 LCM_Screen_str:
219 .LFB13:
220 .LM47:
221 /* prologue: frame size=0 */
222 00b8 8F92 push r8
223 00ba 9F92 push r9
224 00bc AF92 push r10
225 00be BF92 push r11
226 00c0 CF92 push r12
227 00c2 DF92 push r13
228 00c4 EF92 push r14
229 00c6 FF92 push r15
230 00c8 0F93 push r16
231 00ca 1F93 push r17
232 00cc CF93 push r28
233 00ce DF93 push r29
234 /* prologue end (size=12) */
235 .LVL10:
236 00d0 982F mov r25,r24
237 00d2 5A01 movw r10,r20
238 00d4 802E mov r8,r16
239 00d6 462F mov r20,r22
240 00d8 5527 clr r21
241 .LVL11:
242 .LM48:
243 00da 2230 cpi r18,lo8(2)
244 00dc 01F4 brne .L23
245 .LVL12:
246 .LM49:
247 00de 88E2 ldi r24,lo8(40)
248 00e0 989F mul r25,r24
249 00e2 C001 movw r24,r0
250 00e4 1124 clr r1
251 .LVL13:
252 00e6 8050 subi r24,lo8(-(20480))
253 00e8 904B sbci r25,hi8(-(20480))
254 00ea 00C0 rjmp .L41
255 .LVL14:
256 .L23:
257 .LM50:
258 00ec 88E2 ldi r24,lo8(40)
259 00ee 989F mul r25,r24
260 00f0 C001 movw r24,r0
261 00f2 1124 clr r1
262 .LVL15:
263 00f4 8050 subi r24,lo8(-(10240))
264 00f6 984D sbci r25,hi8(-(10240))
265 .L41:
266 00f8 840F add r24,r20
267 00fa 951F adc r25,r21
268 .LM51:
269 00fc C62E mov r12,r22
270 00fe DD24 clr r13
271 .LVL16:
272 .LM52:
273 0100 982E mov r9,r24
274 .LVL17:
275 .LM53:
276 0102 892F mov r24,r25
277 0104 9927 clr r25
278 .LVL18:
279 0106 082F mov r16,r24
280 .LVL19:
281 .LM54:
282 0108 8FE4 ldi r24,lo8(79)
283 010a 0E94 0000 call CmdWrite
284 .LVL20:
285 010e 7501 movw r14,r10
286 .LVL21:
287 0110 00C0 rjmp .L26
288 .LVL22:
289 .L27:
290 .LM55:
291 0112 86E4 ldi r24,lo8(70)
292 0114 0E94 0000 call CmdWrite
293 .LM56:
294 0118 812F mov r24,r17
295 011a 0E94 0000 call DataWrite
296 .LM57:
297 011e 802F mov r24,r16
298 0120 0E94 0000 call DataWrite
299 .LM58:
300 0124 82E4 ldi r24,lo8(66)
301 0126 0E94 0000 call CmdWrite
302 .LM59:
303 012a F701 movw r30,r14
304 012c 8081 ld r24,Z
305 012e 282F mov r18,r24
306 0130 3327 clr r19
307 0132 2052 subi r18,lo8(-(-32))
308 0134 3040 sbci r19,hi8(-(-32))
309 0136 40E0 ldi r20,lo8(0)
310 0138 50E0 ldi r21,hi8(0)
311 .L28:
312 013a 842F mov r24,r20
313 013c 9927 clr r25
314 013e 4F5F subi r20,lo8(-(1))
315 0140 5F4F sbci r21,hi8(-(1))
316 0142 8217 cp r24,r18
317 0144 9307 cpc r25,r19
318 0146 04F0 brlt .L28
319 .LM60:
320 0148 EA01 movw r28,r20
321 014a 84E0 ldi r24,4
322 014c CC0F 1: lsl r28
323 014e DD1F rol r29
324 0150 8A95 dec r24
325 0152 01F4 brne 1b
326 0154 C050 subi r28,lo8(-(ASCII_16X8-16))
327 0156 D040 sbci r29,hi8(-(ASCII_16X8-16))
328 0158 10E0 ldi r17,lo8(0)
329 .LVL23:
330 .L30:
331 .LBB4:
332 .LM61:
333 015a FE01 movw r30,r28
334 /* #APP */
335 015c 8491 lpm r24, Z
336
337 .LVL24:
338 /* #NOAPP */
339 .LBE4:
340 .LM62:
341 015e 8820 tst r8
342 0160 01F4 brne .L31
343 .LM63:
344 0162 8095 com r24
345 .LVL25:
346 .L31:
347 .LM64:
348 0164 0E94 0000 call DataWrite
349 .LVL26:
350 .LM65:
351 0168 1F5F subi r17,lo8(-(1))
352 016a 1031 cpi r17,lo8(16)
353 016c 01F0 breq .L34
354 .LM66:
355 016e 2196 adiw r28,1
356 0170 00C0 rjmp .L30
357 .L34:
358 .LM67:
359 0172 0894 sec
360 0174 C11C adc r12,__zero_reg__
361 0176 D11C adc r13,__zero_reg__
362 .LM68:
363 0178 F8E2 ldi r31,lo8(40)
364 017a CF16 cp r12,r31
365 017c D104 cpc r13,__zero_reg__
366 017e 00F4 brsh .L36
367 .LM69:
368 0180 0894 sec
369 0182 E11C adc r14,__zero_reg__
370 0184 F11C adc r15,__zero_reg__
371 .L26:
372 0186 192D mov r17,r9
373 .LVL27:
374 0188 1A19 sub r17,r10
375 018a 1E0D add r17,r14
376 .LM70:
377 018c F701 movw r30,r14
378 018e 8081 ld r24,Z
379 0190 8823 tst r24
380 0192 01F0 breq .+2
381 0194 00C0 rjmp .L27
382 .LVL28:
383 .L36:
384 .LM71:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -