?? 3310lcd_main.lst
字號:
1 .file "3310LCD_main.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 LCD_write_byte
20 LCD_write_byte:
21 .LFB10:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LVL0:
26 .LM2:
27 0000 C498 cbi 56-0x20,4
28 .LM3:
29 0002 6623 tst r22
30 0004 01F4 brne .L2
31 .LM4:
32 0006 C398 cbi 56-0x20,3
33 0008 00C0 rjmp .L4
34 .L2:
35 .LM5:
36 000a C39A sbi 56-0x20,3
37 .L4:
38 .LM6:
39 000c 8FB9 out 47-0x20,r24
40 .L5:
41 .LM7:
42 000e 779B sbis 46-0x20,7
43 0010 00C0 rjmp .L5
44 .LM8:
45 0012 C49A sbi 56-0x20,4
46 /* epilogue: frame size=0 */
47 0014 0895 ret
48 /* epilogue end (size=1) */
49 /* function LCD_write_byte size 11 (10) */
50 .LFE10:
52 .global LCD_write_char
54 LCD_write_char:
55 .LFB5:
56 .LM9:
57 /* prologue: frame size=0 */
58 0016 1F93 push r17
59 0018 CF93 push r28
60 001a DF93 push r29
61 /* prologue end (size=3) */
62 .LVL1:
63 001c 8052 subi r24,lo8(-(-32))
64 .LVL2:
65 001e 96E0 ldi r25,lo8(6)
66 0020 899F mul r24,r25
67 0022 E001 movw r28,r0
68 0024 1124 clr r1
69 0026 C050 subi r28,lo8(-(font6x8))
70 0028 D040 sbci r29,hi8(-(font6x8))
71 002a 10E0 ldi r17,lo8(0)
72 .LVL3:
73 .L11:
74 .LM10:
75 002c 61E0 ldi r22,lo8(1)
76 002e 8991 ld r24,Y+
77 0030 0E94 0000 call LCD_write_byte
78 .LM11:
79 0034 1F5F subi r17,lo8(-(1))
80 0036 1630 cpi r17,lo8(6)
81 0038 01F4 brne .L11
82 /* epilogue: frame size=0 */
83 003a DF91 pop r29
84 003c CF91 pop r28
85 003e 1F91 pop r17
86 0040 0895 ret
87 /* epilogue end (size=4) */
88 /* function LCD_write_char size 22 (15) */
89 .LFE5:
91 .global LCD_set_XY
93 LCD_set_XY:
94 .LFB4:
95 .LM12:
96 /* prologue: frame size=0 */
97 0042 1F93 push r17
98 /* prologue end (size=1) */
99 .LVL4:
100 0044 182F mov r17,r24
101 0046 862F mov r24,r22
102 .LVL5:
103 .LM13:
104 0048 60E0 ldi r22,lo8(0)
105 .LVL6:
106 004a 8064 ori r24,lo8(64)
107 .LVL7:
108 004c 0E94 0000 call LCD_write_byte
109 .LM14:
110 0050 60E0 ldi r22,lo8(0)
111 0052 812F mov r24,r17
112 0054 8068 ori r24,lo8(-128)
113 0056 0E94 0000 call LCD_write_byte
114 /* epilogue: frame size=0 */
115 005a 1F91 pop r17
116 005c 0895 ret
117 /* epilogue end (size=2) */
118 /* function LCD_set_XY size 14 (11) */
119 .LFE4:
121 .global LCD_draw_bmp_pixel
123 LCD_draw_bmp_pixel:
124 .LFB9:
125 .LM15:
126 /* prologue: frame size=0 */
127 005e 8F92 push r8
128 0060 9F92 push r9
129 0062 AF92 push r10
130 0064 BF92 push r11
131 0066 CF92 push r12
132 0068 DF92 push r13
133 006a EF92 push r14
134 006c FF92 push r15
135 006e 0F93 push r16
136 0070 1F93 push r17
137 0072 CF93 push r28
138 0074 DF93 push r29
139 /* prologue end (size=12) */
140 .LVL8:
141 0076 882E mov r8,r24
142 0078 B62E mov r11,r22
143 .LM16:
144 007a 802F mov r24,r16
145 007c 9927 clr r25
146 .LVL9:
147 007e 8770 andi r24,lo8(7)
148 0080 9070 andi r25,hi8(7)
149 0082 0695 lsr r16
150 0084 0695 lsr r16
151 0086 0695 lsr r16
152 .LVL10:
153 0088 892B or r24,r25
154 008a 01F4 brne .L19
155 .LVL11:
156 .LM17:
157 008c 902E mov r9,r16
158 .LVL12:
159 008e 00C0 rjmp .L21
160 .LVL13:
161 .L19:
162 .LM18:
163 0090 902E mov r9,r16
164 .LVL14:
165 0092 9394 inc r9
166 .L21:
167 .LM19:
168 0094 C22E mov r12,r18
169 0096 DD24 clr r13
170 0098 8A01 movw r16,r20
171 009a AA24 clr r10
172 009c 00C0 rjmp .L22
173 .LVL15:
174 .L23:
175 .LM20:
176 009e 6B2D mov r22,r11
177 00a0 882D mov r24,r8
178 .LVL16:
179 00a2 0E94 0000 call LCD_set_XY
180 .LVL17:
181 00a6 7801 movw r14,r16
182 00a8 C0E0 ldi r28,lo8(0)
183 00aa D0E0 ldi r29,hi8(0)
184 00ac 00C0 rjmp .L24
185 .L25:
186 .LM21:
187 00ae 61E0 ldi r22,lo8(1)
188 00b0 F701 movw r30,r14
189 00b2 8191 ld r24,Z+
190 00b4 7F01 movw r14,r30
191 00b6 0E94 0000 call LCD_write_byte
192 .LM22:
193 00ba 2196 adiw r28,1
194 .L24:
195 00bc CC15 cp r28,r12
196 00be DD05 cpc r29,r13
197 00c0 01F4 brne .L25
198 .LM23:
199 00c2 B394 inc r11
200 00c4 A394 inc r10
201 00c6 0C0D add r16,r12
202 00c8 1D1D adc r17,r13
203 .LVL18:
204 .L22:
205 .LM24:
206 00ca A914 cp r10,r9
207 00cc 01F4 brne .L23
208 /* epilogue: frame size=0 */
209 00ce DF91 pop r29
210 00d0 CF91 pop r28
211 00d2 1F91 pop r17
212 00d4 0F91 pop r16
213 00d6 FF90 pop r15
214 00d8 EF90 pop r14
215 00da DF90 pop r13
216 00dc CF90 pop r12
217 00de BF90 pop r11
218 00e0 AF90 pop r10
219 00e2 9F90 pop r9
220 00e4 8F90 pop r8
221 00e6 0895 ret
222 /* epilogue end (size=13) */
223 /* function LCD_draw_bmp_pixel size 69 (44) */
224 .LFE9:
226 .global LCD_write_chinese_string
228 LCD_write_chinese_string:
229 .LFB7:
230 .LM25:
231 /* prologue: frame size=4 */
232 00e8 2F92 push r2
233 00ea 3F92 push r3
234 00ec 4F92 push r4
235 00ee 5F92 push r5
236 00f0 6F92 push r6
237 00f2 7F92 push r7
238 00f4 8F92 push r8
239 00f6 9F92 push r9
240 00f8 AF92 push r10
241 00fa BF92 push r11
242 00fc CF92 push r12
243 00fe DF92 push r13
244 0100 EF92 push r14
245 0102 FF92 push r15
246 0104 0F93 push r16
247 0106 1F93 push r17
248 0108 CF93 push r28
249 010a DF93 push r29
250 010c CDB7 in r28,__SP_L__
251 010e DEB7 in r29,__SP_H__
252 0110 2497 sbiw r28,4
253 0112 0FB6 in __tmp_reg__,__SREG__
254 0114 F894 cli
255 0116 DEBF out __SP_H__,r29
256 0118 0FBE out __SREG__,__tmp_reg__
257 011a CDBF out __SP_L__,r28
258 /* prologue end (size=26) */
259 .LVL19:
260 011c D82E mov r13,r24
261 011e 962E mov r9,r22
262 0120 342E mov r3,r20
263 0122 2983 std Y+1,r18
264 0124 0A83 std Y+2,r16
265 0126 2E2C mov r2,r14
266 .LM26:
267 0128 0E94 0000 call LCD_set_XY
268 .LVL20:
269 .LM27:
270 012c 632C mov r6,r3
271 012e 7724 clr r7
272 0130 2301 movw r4,r6
273 0132 440C lsl r4
274 0134 551C rol r5
275 0136 CC24 clr r12
276 .LVL21:
277 0138 00C0 rjmp .L30
278 .LVL22:
279 .L31:
280 .LM28:
281 013a 8315 cp r24,r3
282 013c 01F4 brne .L32
283 013e 692D mov r22,r9
284 0140 6F5F subi r22,lo8(-(1))
285 .LM29:
286 0142 CC20 tst r12
287 0144 01F4 brne .L34
288 0146 8D2D mov r24,r13
289 .LVL23:
290 0148 00C0 rjmp .L41
291 .LVL24:
292 .L34:
293 .LM30:
294 014a 882D mov r24,r8
295 .LVL25:
296 .L41:
297 014c 0E94 0000 call LCD_set_XY
298 .LVL26:
299 .L32:
300 .LM31:
301 0150 9701 movw r18,r14
302 0152 8A81 ldd r24,Y+2
303 .LVL27:
304 0154 280F add r18,r24
305 0156 311D adc r19,__zero_reg__
306 0158 88E1 ldi r24,lo8(24)
307 015a 90E0 ldi r25,hi8(24)
308 015c 289F mul r18,r24
309 015e F001 movw r30,r0
310 0160 299F mul r18,r25
311 0162 F00D add r31,r0
312 0164 389F mul r19,r24
313 0166 F00D add r31,r0
314 0168 1124 clr r1
315 016a E050 subi r30,lo8(-(write_chinese_string))
316 016c F040 sbci r31,hi8(-(write_chinese_string))
317 016e E00F add r30,r16
318 0170 F11F adc r31,r17
319 0172 61E0 ldi r22,lo8(1)
320 0174 8081 ld r24,Z
321 0176 0E94 0000 call LCD_write_byte
322 017a EB81 ldd r30,Y+3
323 017c FC81 ldd r31,Y+4
324 017e 3196 adiw r30,1
325 0180 FC83 std Y+4,r31
326 0182 EB83 std Y+3,r30
327 .LVL28:
328 .L36:
329 0184 8B81 ldd r24,Y+3
330 .LVL29:
331 .LM32:
332 0186 082F mov r16,r24
333 0188 1127 clr r17
334 018a 0415 cp r16,r4
335 018c 1505 cpc r17,r5
336 018e 04F0 brlt .L31
337 .LM33:
338 0190 C394 inc r12
339 .LM34:
340 0192 CA9C mul r12,r10
341 0194 802D mov r24,r0
342 0196 1124 clr r1
343 .LVL30:
344 0198 692D mov r22,r9
345 019a 8D0D add r24,r13
346 019c 0E94 0000 call LCD_set_XY
347 .LVL31:
348 .L30:
349 .LM35:
350 01a0 F981 ldd r31,Y+1
351 01a2 CF16 cp r12,r31
352 01a4 01F0 breq .L40
353 .LM36:
354 01a6 5301 movw r10,r6
355 01a8 A20C add r10,r2
356 01aa B11C adc r11,__zero_reg__
357 01ac EC2C mov r14,r12
358 01ae FF24 clr r15
359 01b0 AE9C mul r10,r14
360 01b2 C001 movw r24,r0
361 01b4 AF9C mul r10,r15
362 01b6 900D add r25,r0
363 01b8 BE9C mul r11,r14
364 01ba 900D add r25,r0
365 01bc 1124 clr r1
366 01be 8D2C mov r8,r13
367 01c0 880E add r8,r24
368 01c2 1C82 std Y+4,__zero_reg__
369 01c4 1B82 std Y+3,__zero_reg__
370 01c6 00C0 rjmp .L36
371 .LVL32:
372 .L40:
373 /* epilogue: frame size=4 */
374 01c8 2496 adiw r28,4
375 01ca 0FB6 in __tmp_reg__,__SREG__
376 01cc F894 cli
377 01ce DEBF out __SP_H__,r29
378 01d0 0FBE out __SREG__,__tmp_reg__
379 01d2 CDBF out __SP_L__,r28
380 01d4 DF91 pop r29
381 01d6 CF91 pop r28
382 01d8 1F91 pop r17
383 01da 0F91 pop r16
384 01dc FF90 pop r15
385 01de EF90 pop r14
386 01e0 DF90 pop r13
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -