📄 main.lst
字号:
1 .file "main.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global DelayUs
20 DelayUs:
21 .LFB2:
22 .LM1:
23 .LVL0:
24 /* prologue: function */
25 /* frame size = 0 */
26 /* epilogue start */
27 .LM2:
28 0000 0895 ret
29 .LFE2:
31 .global DelayMs
33 DelayMs:
34 .LFB3:
35 .LM3:
36 .LVL1:
37 0002 1F93 push r17
38 0004 CF93 push r28
39 0006 DF93 push r29
40 /* prologue: function */
41 /* frame size = 0 */
42 0008 EC01 movw r28,r24
43 000a 00C0 rjmp .L4
44 .LVL2:
45 .L5:
46 .LM4:
47 000c 8AEF ldi r24,lo8(-6)
48 000e 0E94 0000 call DelayUs
49 .LVL3:
50 .L7:
51 .LM5:
52 0012 1150 subi r17,1
53 0014 00F4 brcc .L5
54 0016 2197 sbiw r28,1
55 .LVL4:
56 .L4:
57 .LM6:
58 0018 2097 sbiw r28,0
59 001a 01F0 breq .L8
60 001c 14E0 ldi r17,lo8(4)
61 001e 00C0 rjmp .L7
62 .L8:
63 /* epilogue start */
64 .LM7:
65 0020 DF91 pop r29
66 0022 CF91 pop r28
67 .LVL5:
68 0024 1F91 pop r17
69 .LVL6:
70 0026 0895 ret
71 .LFE3:
73 .global delay4us
75 delay4us:
76 .LFB4:
77 .LM8:
78 /* prologue: function */
79 /* frame size = 0 */
80 /* epilogue start */
81 .LM9:
82 0028 0895 ret
83 .LFE4:
85 .global delay100ms
87 delay100ms:
88 .LFB5:
89 .LM10:
90 /* prologue: function */
91 /* frame size = 0 */
92 .LM11:
93 002a 84E6 ldi r24,lo8(100)
94 002c 90E0 ldi r25,hi8(100)
95 002e 0E94 0000 call DelayMs
96 /* epilogue start */
97 .LM12:
98 0032 0895 ret
99 .LFE5:
101 .global delay500ms
103 delay500ms:
104 .LFB6:
105 .LM13:
106 /* prologue: function */
107 /* frame size = 0 */
108 .LM14:
109 0034 84EF ldi r24,lo8(500)
110 0036 91E0 ldi r25,hi8(500)
111 0038 0E94 0000 call DelayMs
112 /* epilogue start */
113 .LM15:
114 003c 0895 ret
115 .LFE6:
117 .global delay1s
119 delay1s:
120 .LFB7:
121 .LM16:
122 /* prologue: function */
123 /* frame size = 0 */
124 .LM17:
125 003e 88EE ldi r24,lo8(1000)
126 0040 93E0 ldi r25,hi8(1000)
127 0042 0E94 0000 call DelayMs
128 /* epilogue start */
129 .LM18:
130 0046 0895 ret
131 .LFE7:
133 .global Lcd_Busy
135 Lcd_Busy:
136 .LFB8:
137 .LM19:
138 /* prologue: function */
139 /* frame size = 0 */
140 .LM20:
141 0048 17BA out 55-32,__zero_reg__
142 .LM21:
143 004a 9798 cbi 50-32,7
144 004c 9598 cbi 50-32,5
145 004e 969A sbi 50-32,6
146 .LM22:
147 0050 82E0 ldi r24,lo8(2)
148 0052 0E94 0000 call DelayUs
149 .LM23:
150 0056 979A sbi 50-32,7
151 .LM24:
152 0058 82E0 ldi r24,lo8(2)
153 005a 0E94 0000 call DelayUs
154 .LM25:
155 005e 86B3 in r24,54-32
156 .LM26:
157 0060 9798 cbi 50-32,7
158 .LM27:
159 0062 9FEF ldi r25,lo8(-1)
160 0064 97BB out 55-32,r25
161 .LM28:
162 0066 8078 andi r24,lo8(-128)
163 /* epilogue start */
164 0068 0895 ret
165 .LFE8:
167 .global Lcd_Command
169 Lcd_Command:
170 .LFB9:
171 .LM29:
172 .LVL7:
173 006a 1F93 push r17
174 /* prologue: function */
175 /* frame size = 0 */
176 006c 182F mov r17,r24
177 .LVL8:
178 .L20:
179 .LM30:
180 006e 0E94 0000 call Lcd_Busy
181 0072 8823 tst r24
182 0074 01F4 brne .L20
183 .LM31:
184 0076 9798 cbi 50-32,7
185 0078 9598 cbi 50-32,5
186 007a 9698 cbi 50-32,6
187 .LM32:
188 007c 82E0 ldi r24,lo8(2)
189 007e 0E94 0000 call DelayUs
190 .LM33:
191 0082 979A sbi 50-32,7
192 .LM34:
193 0084 18BB out 56-32,r17
194 .LM35:
195 0086 82E0 ldi r24,lo8(2)
196 0088 0E94 0000 call DelayUs
197 .LM36:
198 008c 9798 cbi 50-32,7
199 /* epilogue start */
200 .LM37:
201 008e 1F91 pop r17
202 .LVL9:
203 0090 0895 ret
204 .LFE9:
206 .global Lcd_Write
208 Lcd_Write:
209 .LFB10:
210 .LM38:
211 .LVL10:
212 0092 1F93 push r17
213 /* prologue: function */
214 /* frame size = 0 */
215 0094 182F mov r17,r24
216 .LVL11:
217 .L24:
218 .LM39:
219 0096 0E94 0000 call Lcd_Busy
220 009a 8823 tst r24
221 009c 01F4 brne .L24
222 .LM40:
223 009e 9798 cbi 50-32,7
224 00a0 959A sbi 50-32,5
225 00a2 9698 cbi 50-32,6
226 .LM41:
227 00a4 82E0 ldi r24,lo8(2)
228 00a6 0E94 0000 call DelayUs
229 .LM42:
230 00aa 979A sbi 50-32,7
231 .LM43:
232 00ac 18BB out 56-32,r17
233 .LM44:
234 00ae 82E0 ldi r24,lo8(2)
235 00b0 0E94 0000 call DelayUs
236 .LM45:
237 00b4 9798 cbi 50-32,7
238 /* epilogue start */
239 .LM46:
240 00b6 1F91 pop r17
241 .LVL12:
242 00b8 0895 ret
243 .LFE10:
245 .global SendByte
247 SendByte:
248 .LFB11:
249 .LM47:
250 .LVL13:
251 00ba 0F93 push r16
252 00bc 1F93 push r17
253 /* prologue: function */
254 /* frame size = 0 */
255 00be 182F mov r17,r24
256 00c0 062F mov r16,r22
257 .LVL14:
258 .L28:
259 .LM48:
260 00c2 0E94 0000 call Lcd_Busy
261 00c6 8823 tst r24
262 00c8 01F4 brne .L28
263 .LM49:
264 00ca 9798 cbi 50-32,7
265 .LM50:
266 00cc 1123 tst r17
267 00ce 01F0 breq .L29
268 .LM51:
269 00d0 959A sbi 50-32,5
270 00d2 00C0 rjmp .L30
271 .L29:
272 .LM52:
273 00d4 9598 cbi 50-32,5
274 .L30:
275 .LM53:
276 00d6 9698 cbi 50-32,6
277 .LM54:
278 00d8 979A sbi 50-32,7
279 .LM55:
280 00da 08BB out 56-32,r16
281 .LM56:
282 00dc 9798 cbi 50-32,7
283 /* epilogue start */
284 .LM57:
285 00de 1F91 pop r17
286 .LVL15:
287 00e0 0F91 pop r16
288 .LVL16:
289 00e2 0895 ret
290 .LFE11:
292 .global Lcd_Init
294 Lcd_Init:
295 .LFB12:
296 .LM58:
297 /* prologue: function */
298 /* frame size = 0 */
299 .LM59:
300 00e4 8FEF ldi r24,lo8(-1)
301 00e6 87BB out 55-32,r24
302 .LM60:
303 00e8 81BB out 49-32,r24
304 .LM61:
305 00ea 88E3 ldi r24,lo8(56)
306 00ec 0E94 0000 call Lcd_Command
307 .LM62:
308 00f0 88E3 ldi r24,lo8(56)
309 00f2 0E94 0000 call Lcd_Command
310 .LM63:
311 00f6 88E3 ldi r24,lo8(56)
312 00f8 0E94 0000 call Lcd_Command
313 .LM64:
314 00fc 88E3 ldi r24,lo8(56)
315 00fe 0E94 0000 call Lcd_Command
316 .LM65:
317 0102 88E0 ldi r24,lo8(8)
318 0104 0E94 0000 call Lcd_Command
319 .LM66:
320 0108 81E0 ldi r24,lo8(1)
321 010a 0E94 0000 call Lcd_Command
322 .LM67:
323 010e 86E0 ldi r24,lo8(6)
324 0110 0E94 0000 call Lcd_Command
325 .LM68:
326 0114 8CE0 ldi r24,lo8(12)
327 0116 0E94 0000 call Lcd_Command
328 /* epilogue start */
329 .LM69:
330 011a 0895 ret
331 .LFE12:
333 .global SendStr
335 SendStr:
336 .LFB13:
337 .LM70:
338 .LVL17:
339 011c CF93 push r28
340 011e DF93 push r29
341 /* prologue: function */
342 /* frame size = 0 */
343 0120 EC01 movw r28,r24
344 0122 00C0 rjmp .L36
345 .LVL18:
346 .L37:
347 .LM71:
348 0124 2196 adiw r28,1
349 0126 81E0 ldi r24,lo8(1)
350 0128 0E94 0000 call SendByte
351 .LVL19:
352 .L36:
353 .LM72:
354 012c 6881 ld r22,Y
355 012e 6623 tst r22
356 0130 01F4 brne .L37
357 /* epilogue start */
358 .LM73:
359 0132 DF91 pop r29
360 0134 CF91 pop r28
361 .LVL20:
362 0136 0895 ret
363 .LFE13:
365 .global Move
367 Move:
368 .LFB14:
369 .LM74:
370 .LVL21:
371 /* prologue: function */
372 /* frame size = 0 */
373 .LM75:
374 0138 682F mov r22,r24
375 013a 80E0 ldi r24,lo8(0)
376 .LVL22:
377 013c 0E94 0000 call SendByte
378 .LVL23:
379 /* epilogue start */
380 .LM76:
381 0140 0895 ret
382 .LFE14:
384 .global Gotoxy
386 Gotoxy:
387 .LFB15:
388 .LM77:
389 .LVL24:
390 /* prologue: function */
391 /* frame size = 0 */
392 .LM78:
393 0142 8330 cpi r24,lo8(3)
394 0144 01F0 breq .L44
395 0146 8430 cpi r24,lo8(4)
396 0148 01F0 breq .L45
397 014a 8230 cpi r24,lo8(2)
398 014c 01F4 brne .L48
399 .LM79:
400 014e 6054 subi r22,lo8(-(-64))
401 .LVL25:
402 0150 00C0 rjmp .L49
403 .L44:
404 .LM80:
405 0152 6C56 subi r22,lo8(-(-108))
406 .LVL26:
407 0154 00C0 rjmp .L49
408 .L45:
409 .LM81:
410 0156 6C52 subi r22,lo8(-(-44))
411 .LVL27:
412 0158 00C0 rjmp .L49
413 .L48:
414 .LM82:
415 015a 6058 subi r22,lo8(-(-128))
416 .LVL28:
417 .L49:
418 015c 80E0 ldi r24,lo8(0)
419 .LVL29:
420 015e 0E94 0000 call SendByte
421 .LVL30:
422 0162 0895 ret
423 .LFE15:
425 .global Clear
427 Clear:
428 .LFB16:
429 .LM83:
430 /* prologue: function */
431 /* frame size = 0 */
432 .LM84:
433 0164 61E0 ldi r22,lo8(1)
434 0166 80E0 ldi r24,lo8(0)
435 0168 0E94 0000 call SendByte
436 .LM85:
437 016c 80ED ldi r24,lo8(-48)
438 016e 0E94 0000 call DelayUs
439 /* epilogue start */
440 .LM86:
441 0172 0895 ret
442 .LFE16:
444 .global Tile
446 Tile:
447 .LFB17:
448 .LM87:
449 .LVL31:
450 0174 0F93 push r16
451 0176 1F93 push r17
452 /* prologue: function */
453 /* frame size = 0 */
454 0178 082F mov r16,r24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -