📄 3310lcd_main.lst
字号:
1 .file "3310LCD_main.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .global __do_copy_data
8 .global __do_clear_bss
16 .Ltext0:
17 .global LCD_write_byte
19 LCD_write_byte:
20 .LFB15:
21 .LM1:
22 /* prologue: frame size=0 */
23 /* prologue end (size=0) */
24 .LVL0:
25 .LM2:
26 0000 C498 cbi 56-0x20,4
27 .LM3:
28 0002 6623 tst r22
29 0004 01F4 brne .L2
30 .LM4:
31 0006 C398 cbi 56-0x20,3
32 0008 00C0 rjmp .L4
33 .L2:
34 .LM5:
35 000a C39A sbi 56-0x20,3
36 .L4:
37 .LM6:
38 000c 8FB9 out 47-0x20,r24
39 .L5:
40 .LM7:
41 000e 779B sbis 46-0x20,7
42 0010 00C0 rjmp .L5
43 .LM8:
44 0012 C49A sbi 56-0x20,4
45 /* epilogue: frame size=0 */
46 0014 0895 ret
47 /* epilogue end (size=1) */
48 /* function LCD_write_byte size 11 (10) */
49 .LFE15:
51 .global LCD_write_char
53 LCD_write_char:
54 .LFB9:
55 .LM9:
56 /* prologue: frame size=0 */
57 0016 1F93 push r17
58 0018 CF93 push r28
59 001a DF93 push r29
60 /* prologue end (size=3) */
61 .LVL1:
62 001c 8052 subi r24,lo8(-(-32))
63 .LVL2:
64 001e 96E0 ldi r25,lo8(6)
65 0020 899F mul r24,r25
66 0022 E001 movw r28,r0
67 0024 1124 clr r1
68 0026 C050 subi r28,lo8(-(font6x8))
69 0028 D040 sbci r29,hi8(-(font6x8))
70 002a 10E0 ldi r17,lo8(0)
71 .LVL3:
72 .L11:
73 .LBB52:
74 .LM10:
75 002c FE01 movw r30,r28
76 /* #APP */
77 002e 8491 lpm r24, Z
78
79 .LVL4:
80 /* #NOAPP */
81 .LBE52:
82 0030 61E0 ldi r22,lo8(1)
83 0032 0E94 0000 call LCD_write_byte
84 .LVL5:
85 .LM11:
86 0036 1F5F subi r17,lo8(-(1))
87 0038 2196 adiw r28,1
88 003a 1630 cpi r17,lo8(6)
89 003c 01F4 brne .L11
90 /* epilogue: frame size=0 */
91 003e DF91 pop r29
92 0040 CF91 pop r28
93 0042 1F91 pop r17
94 0044 0895 ret
95 /* epilogue end (size=4) */
96 /* function LCD_write_char size 27 (20) */
97 .LFE9:
99 .global LCD_set_XY
101 LCD_set_XY:
102 .LFB8:
103 .LM12:
104 /* prologue: frame size=0 */
105 0046 1F93 push r17
106 /* prologue end (size=1) */
107 .LVL6:
108 0048 182F mov r17,r24
109 004a 862F mov r24,r22
110 .LVL7:
111 .LM13:
112 004c 60E0 ldi r22,lo8(0)
113 .LVL8:
114 004e 8064 ori r24,lo8(64)
115 .LVL9:
116 0050 0E94 0000 call LCD_write_byte
117 .LM14:
118 0054 60E0 ldi r22,lo8(0)
119 0056 812F mov r24,r17
120 0058 8068 ori r24,lo8(-128)
121 005a 0E94 0000 call LCD_write_byte
122 /* epilogue: frame size=0 */
123 005e 1F91 pop r17
124 0060 0895 ret
125 /* epilogue end (size=2) */
126 /* function LCD_set_XY size 14 (11) */
127 .LFE8:
129 .global LCD_draw_bmp_pixel
131 LCD_draw_bmp_pixel:
132 .LFB14:
133 .LM15:
134 /* prologue: frame size=0 */
135 0062 8F92 push r8
136 0064 9F92 push r9
137 0066 AF92 push r10
138 0068 BF92 push r11
139 006a CF92 push r12
140 006c DF92 push r13
141 006e EF92 push r14
142 0070 FF92 push r15
143 0072 0F93 push r16
144 0074 1F93 push r17
145 0076 CF93 push r28
146 0078 DF93 push r29
147 /* prologue end (size=12) */
148 .LVL10:
149 007a 882E mov r8,r24
150 007c B62E mov r11,r22
151 .LM16:
152 007e 802F mov r24,r16
153 .LVL11:
154 0080 90E0 ldi r25,lo8(0)
155 .LVL12:
156 0082 8770 andi r24,lo8(7)
157 0084 9070 andi r25,hi8(7)
158 .LVL13:
159 0086 0695 lsr r16
160 0088 0695 lsr r16
161 008a 0695 lsr r16
162 008c 892B or r24,r25
163 008e 01F4 brne .L19
164 .LVL14:
165 .LM17:
166 0090 902E mov r9,r16
167 .LVL15:
168 0092 00C0 rjmp .L21
169 .LVL16:
170 .L19:
171 .LM18:
172 0094 902E mov r9,r16
173 .LVL17:
174 0096 9394 inc r9
175 .L21:
176 0098 C22E mov r12,r18
177 009a DD24 clr r13
178 009c 7A01 movw r14,r20
179 009e AA24 clr r10
180 00a0 00C0 rjmp .L22
181 .LVL18:
182 .L23:
183 .LM19:
184 00a2 6B2D mov r22,r11
185 00a4 882D mov r24,r8
186 .LVL19:
187 00a6 0E94 0000 call LCD_set_XY
188 .LVL20:
189 00aa E701 movw r28,r14
190 00ac 00E0 ldi r16,lo8(0)
191 00ae 10E0 ldi r17,hi8(0)
192 00b0 00C0 rjmp .L24
193 .L25:
194 .LBB53:
195 .LM20:
196 00b2 FE01 movw r30,r28
197 /* #APP */
198 00b4 8491 lpm r24, Z
199
200 .LVL21:
201 /* #NOAPP */
202 .LBE53:
203 00b6 61E0 ldi r22,lo8(1)
204 00b8 0E94 0000 call LCD_write_byte
205 .LVL22:
206 .LM21:
207 00bc 0F5F subi r16,lo8(-(1))
208 00be 1F4F sbci r17,hi8(-(1))
209 00c0 2196 adiw r28,1
210 .L24:
211 00c2 0C15 cp r16,r12
212 00c4 1D05 cpc r17,r13
213 00c6 01F4 brne .L25
214 .LM22:
215 00c8 B394 inc r11
216 00ca A394 inc r10
217 00cc EC0C add r14,r12
218 00ce FD1C adc r15,r13
219 .LVL23:
220 .L22:
221 .LM23:
222 00d0 A914 cp r10,r9
223 00d2 01F4 brne .L23
224 /* epilogue: frame size=0 */
225 00d4 DF91 pop r29
226 00d6 CF91 pop r28
227 00d8 1F91 pop r17
228 00da 0F91 pop r16
229 00dc FF90 pop r15
230 00de EF90 pop r14
231 00e0 DF90 pop r13
232 00e2 CF90 pop r12
233 00e4 BF90 pop r11
234 00e6 AF90 pop r10
235 00e8 9F90 pop r9
236 00ea 8F90 pop r8
237 00ec 0895 ret
238 /* epilogue end (size=13) */
239 /* function LCD_draw_bmp_pixel size 73 (48) */
240 .LFE14:
242 .global LCD_move_chinese_string
244 LCD_move_chinese_string:
245 .LFB13:
246 .LM24:
247 /* prologue: frame size=174 */
248 00ee 2F92 push r2
249 00f0 3F92 push r3
250 00f2 4F92 push r4
251 00f4 5F92 push r5
252 00f6 6F92 push r6
253 00f8 7F92 push r7
254 00fa 8F92 push r8
255 00fc 9F92 push r9
256 00fe AF92 push r10
257 0100 BF92 push r11
258 0102 CF92 push r12
259 0104 DF92 push r13
260 0106 EF92 push r14
261 0108 FF92 push r15
262 010a 0F93 push r16
263 010c 1F93 push r17
264 010e CF93 push r28
265 0110 DF93 push r29
266 0112 CDB7 in r28,__SP_L__
267 0114 DEB7 in r29,__SP_H__
268 0116 CE5A subi r28,lo8(174)
269 0118 D040 sbci r29,hi8(174)
270 011a 0FB6 in __tmp_reg__,__SREG__
271 011c F894 cli
272 011e DEBF out __SP_H__,r29
273 0120 0FBE out __SREG__,__tmp_reg__
274 0122 CDBF out __SP_L__,r28
275 /* prologue end (size=27) */
276 .LVL24:
277 0124 C755 subi r28,lo8(-169)
278 0126 DF4F sbci r29,hi8(-169)
279 0128 8883 st Y,r24
280 012a C95A subi r28,lo8(169)
281 012c D040 sbci r29,hi8(169)
282 012e 262E mov r2,r22
283 .LM25:
284 0130 84E5 ldi r24,lo8(84)
285 .LVL25:
286 0132 DE01 movw r26,r28
287 0134 1196 adiw r26,1
288 0136 FD01 movw r30,r26
289 0138 982F mov r25,r24
290 013a 1192 st Z+,__zero_reg__
291 013c 9A95 dec r25
292 013e 01F4 brne .-6
293 .LM26:
294 0140 9E01 movw r18,r28
295 0142 2B5A subi r18,lo8(-(85))
296 0144 3F4F sbci r19,hi8(-(85))
297 0146 F901 movw r30,r18
298 0148 1192 st Z+,__zero_reg__
299 014a 8A95 dec r24
300 014c 01F4 brne .-6
301 014e 3324 clr r3
302 .LVL26:
303 0150 8824 clr r8
304 0152 9924 clr r9
305 .LM27:
306 0154 CE01 movw r24,r28
307 0156 8C5A subi r24,lo8(-(84))
308 0158 9F4F sbci r25,hi8(-(84))
309 015a C555 subi r28,lo8(-171)
310 015c DF4F sbci r29,hi8(-171)
311 015e 9983 std Y+1,r25
312 0160 8883 st Y,r24
313 0162 CB5A subi r28,lo8(171)
314 0164 D040 sbci r29,hi8(171)
315 .LM28:
316 0166 962F mov r25,r22
317 0168 9F5F subi r25,lo8(-(1))
318 016a C655 subi r28,lo8(-170)
319 016c DF4F sbci r29,hi8(-170)
320 016e 9883 st Y,r25
321 0170 CA5A subi r28,lo8(170)
322 0172 D040 sbci r29,hi8(170)
323 .LM29:
324 0174 FE01 movw r30,r28
325 0176 E855 subi r30,lo8(-(168))
326 0178 FF4F sbci r31,hi8(-(168))
327 017a C355 subi r28,lo8(-173)
328 017c DF4F sbci r29,hi8(-173)
329 017e F983 std Y+1,r31
330 0180 E883 st Y,r30
331 0182 CD5A subi r28,lo8(173)
332 0184 D040 sbci r29,hi8(173)
333 .LM30:
334 0186 442E mov r4,r20
335 0188 5524 clr r5
336 .LVL27:
337 018a 6624 clr r6
338 018c 7724 clr r7
339 .LVL28:
340 .L30:
341 .LBB54:
342 .LM31:
343 018e 882D mov r24,r8
344 .LVL29:
345 0190 6CE0 ldi r22,lo8(12)
346 .LVL30:
347 0192 0E94 0000 call __udivmodqi4
348 0196 98E1 ldi r25,lo8(24)
349 0198 899F mul r24,r25
350 019a C001 movw r24,r0
351 019c 1124 clr r1
352 019e 232D mov r18,r3
353 01a0 30E0 ldi r19,lo8(0)
354 01a2 FC01 movw r30,r24
355 01a4 E050 subi r30,lo8(-(move_chinese_string))
356 01a6 F040 sbci r31,hi8(-(move_chinese_string))
357 01a8 E20F add r30,r18
358 01aa F31F adc r31,r19
359 /* #APP */
360 01ac 4491 lpm r20, Z
361
362 .LVL31:
363 /* #NOAPP */
364 .LBE54:
365 .LBB55:
366 .LM32:
367 01ae 8050 subi r24,lo8(-(move_chinese_string+12))
368 01b0 9040 sbci r25,hi8(-(move_chinese_string+12))
369 01b2 820F add r24,r18
370 01b4 931F adc r25,r19
371 01b6 FC01 movw r30,r24
372 /* #APP */
373 01b8 8491 lpm r24, Z
374
375 .LVL32:
376 /* #NOAPP */
377 .LBE55:
378 .LM33:
379 01ba 3394 inc r3
380 .LM34:
381 01bc 3616 cp r3,r22
382 01be 01F4 brne .L31
383 01c0 3324 clr r3
384 .L31:
385 .LM35:
386 01c2 6596 adiw r28,84-63
387 01c4 4FAF std Y+63,r20
388 01c6 6597 sbiw r28,84-63
389 .LM36:
390 01c8 C855 subi r28,lo8(-168)
391 01ca DF4F sbci r29,hi8(-168)
392 01cc 8883 st Y,r24
393 01ce C85A subi r28,lo8(168)
394 01d0 D040 sbci r29,hi8(168)
395 01d2 7E01 movw r14,r28
396 .LVL33:
397 01d4 0894 sec
398 01d6 E11C adc r14,__zero_reg__
399 01d8 F11C adc r15,__zero_reg__
400 01da DE01 movw r26,r28
401 01dc AB5A subi r26,lo8(-(85))
402 01de BF4F sbci r27,hi8(-(85))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -