📄 lcd-char.lst
字号:
1 .file "lcd-char.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 LCD_write_byte
20 LCD_write_byte:
21 .LFB6:
22 .LM1:
23 .LVL0:
24 /* prologue: function */
25 /* frame size = 0 */
26 .LM2:
27 0000 5D98 cbi 43-32,5
28 .LM3:
29 0002 6623 tst r22
30 0004 01F0 breq .L2
31 .LM4:
32 0006 5C9A sbi 43-32,4
33 0008 00C0 rjmp .L9
34 .L2:
35 .LM5:
36 000a 5C98 cbi 43-32,4
37 .L9:
38 000c 90E0 ldi r25,lo8(0)
39 .LVL1:
40 .L8:
41 .LM6:
42 000e 87FF sbrs r24,7
43 0010 00C0 rjmp .L4
44 .LM7:
45 0012 419A sbi 40-32,1
46 0014 00C0 rjmp .L5
47 .L4:
48 .LM8:
49 0016 4198 cbi 40-32,1
50 .L5:
51 .LM9:
52 0018 4298 cbi 40-32,2
53 .LM10:
54 001a 429A sbi 40-32,2
55 .LM11:
56 001c 4298 cbi 40-32,2
57 .LM12:
58 001e 9F5F subi r25,lo8(-(1))
59 0020 9830 cpi r25,lo8(8)
60 0022 01F0 breq .L7
61 .LM13:
62 0024 880F lsl r24
63 .LVL2:
64 0026 00C0 rjmp .L8
65 .L7:
66 0028 0895 ret
67 .LFE6:
69 .global LCD_init
71 LCD_init:
72 .LFB7:
73 .LM14:
74 /* prologue: function */
75 /* frame size = 0 */
76 .LM15:
77 002a 5D9A sbi 43-32,5
78 .LM16:
79 002c 5F9A sbi 43-32,7
80 .LBB40:
81 .LBB41:
82 .LBB42:
83 .LBB43:
84 .LBB44:
85 .LBB45:
86 .LM17:
87 002e 88EC ldi r24,lo8(200)
88 0030 90E0 ldi r25,hi8(200)
89 0032 FC01 movw r30,r24
90 .LVL3:
91 /* #APP */
92 ; 105 "d:/winavr/lib/gcc/../../avr/include/util/delay_basic.h" 1
93 0034 3197 1: sbiw r30,1
94 0036 01F4 brne 1b
95 ; 0 "" 2
96 /* #NOAPP */
97 .LBE45:
98 .LBE44:
99 .LBE43:
100 .LBE42:
101 .LBE41:
102 .LBE40:
103 .LM18:
104 0038 5F98 cbi 43-32,7
105 .LBB46:
106 .LBB47:
107 .LBB48:
108 .LBB49:
109 .LM19:
110 003a E0E2 ldi r30,lo8(20000)
111 003c FEE4 ldi r31,hi8(20000)
112 .LVL4:
113 /* #APP */
114 ; 105 "d:/winavr/lib/gcc/../../avr/include/util/delay_basic.h" 1
115 003e 3197 1: sbiw r30,1
116 0040 01F4 brne 1b
117 ; 0 "" 2
118 /* #NOAPP */
119 .LBE49:
120 .LBE48:
121 .LBE47:
122 .LBE46:
123 .LM20:
124 0042 5F9A sbi 43-32,7
125 .LBB50:
126 .LBB51:
127 .LBB52:
128 .LBB53:
129 .LBB54:
130 .LBB55:
131 .LM21:
132 /* #APP */
133 ; 105 "d:/winavr/lib/gcc/../../avr/include/util/delay_basic.h" 1
134 0044 0197 1: sbiw r24,1
135 0046 01F4 brne 1b
136 ; 0 "" 2
137 .LVL5:
138 /* #NOAPP */
139 .LBE55:
140 .LBE54:
141 .LBE53:
142 .LBE52:
143 .LBE51:
144 .LBE50:
145 .LM22:
146 0048 81E2 ldi r24,lo8(33)
147 .LVL6:
148 004a 60E0 ldi r22,lo8(0)
149 004c 00D0 rcall LCD_write_byte
150 .LVL7:
151 .LM23:
152 004e 80ED ldi r24,lo8(-48)
153 0050 60E0 ldi r22,lo8(0)
154 0052 00D0 rcall LCD_write_byte
155 .LM24:
156 0054 80E2 ldi r24,lo8(32)
157 0056 60E0 ldi r22,lo8(0)
158 0058 00D0 rcall LCD_write_byte
159 .LM25:
160 005a 8CE0 ldi r24,lo8(12)
161 005c 60E0 ldi r22,lo8(0)
162 005e 00D0 rcall LCD_write_byte
163 .LM26:
164 0060 5D9A sbi 43-32,5
165 /* epilogue start */
166 .LM27:
167 0062 0895 ret
168 .LFE7:
170 .global LCD_set_XY
172 LCD_set_XY:
173 .LFB8:
174 .LM28:
175 .LVL8:
176 0064 1F93 push r17
177 /* prologue: function */
178 /* frame size = 0 */
179 0066 182F mov r17,r24
180 0068 862F mov r24,r22
181 .LVL9:
182 .LM29:
183 006a 8064 ori r24,lo8(64)
184 006c 60E0 ldi r22,lo8(0)
185 .LVL10:
186 006e 00D0 rcall LCD_write_byte
187 .LM30:
188 0070 812F mov r24,r17
189 0072 8068 ori r24,lo8(-128)
190 0074 60E0 ldi r22,lo8(0)
191 0076 00D0 rcall LCD_write_byte
192 .LM31:
193 0078 5D9A sbi 43-32,5
194 /* epilogue start */
195 .LM32:
196 007a 1F91 pop r17
197 .LVL11:
198 007c 0895 ret
199 .LFE8:
201 .global LCD_clear
203 LCD_clear:
204 .LFB9:
205 .LM33:
206 007e 0F93 push r16
207 0080 1F93 push r17
208 /* prologue: function */
209 /* frame size = 0 */
210 .LM34:
211 0082 80E0 ldi r24,lo8(0)
212 0084 60E0 ldi r22,lo8(0)
213 0086 00D0 rcall LCD_set_XY
214 0088 00E0 ldi r16,lo8(0)
215 .LVL12:
216 008a 00C0 rjmp .L15
217 .LVL13:
218 .L16:
219 .LM35:
220 008c 80E0 ldi r24,lo8(0)
221 008e 61E0 ldi r22,lo8(1)
222 0090 00D0 rcall LCD_write_byte
223 .LM36:
224 0092 1F5F subi r17,lo8(-(1))
225 0094 1435 cpi r17,lo8(84)
226 0096 01F4 brne .L16
227 .LM37:
228 0098 0F5F subi r16,lo8(-(1))
229 009a 0630 cpi r16,lo8(6)
230 009c 01F0 breq .L17
231 .L15:
232 009e 10E0 ldi r17,lo8(0)
233 00a0 00C0 rjmp .L16
234 .L17:
235 .LM38:
236 00a2 5D9A sbi 43-32,5
237 /* epilogue start */
238 .LM39:
239 00a4 1F91 pop r17
240 .LVL14:
241 00a6 0F91 pop r16
242 .LVL15:
243 00a8 0895 ret
244 .LFE9:
246 .global LCD_write_char
248 LCD_write_char:
249 .LFB10:
250 .LM40:
251 .LVL16:
252 00aa 0F93 push r16
253 00ac 1F93 push r17
254 00ae CF93 push r28
255 00b0 DF93 push r29
256 /* prologue: function */
257 /* frame size = 0 */
258 .LBB56:
259 .LM41:
260 00b2 8052 subi r24,lo8(-(-32))
261 .LVL17:
262 00b4 26E0 ldi r18,lo8(6)
263 00b6 829F mul r24,r18
264 00b8 C001 movw r24,r0
265 00ba 1124 clr r1
266 00bc EC01 movw r28,r24
267 00be C050 subi r28,lo8(-(font6x8))
268 00c0 D040 sbci r29,hi8(-(font6x8))
269 .LBE56:
270 .LM42:
271 00c2 8C01 movw r16,r24
272 00c4 0A5F subi r16,lo8(-(6))
273 00c6 1F4F sbci r17,hi8(-(6))
274 00c8 0050 subi r16,lo8(-(font6x8))
275 00ca 1040 sbci r17,hi8(-(font6x8))
276 .L21:
277 .LBB57:
278 .LM43:
279 00cc FE01 movw r30,r28
280 /* #APP */
281 ; 454 "lcd-char.c" 1
282 00ce 8491 lpm r24, Z
283
284 ; 0 "" 2
285 .LVL18:
286 /* #NOAPP */
287 .LBE57:
288 00d0 61E0 ldi r22,lo8(1)
289 00d2 00D0 rcall LCD_write_byte
290 .LVL19:
291 00d4 2196 adiw r28,1
292 .LM44:
293 00d6 C017 cp r28,r16
294 00d8 D107 cpc r29,r17
295 00da 01F4 brne .L21
296 /* epilogue start */
297 .LM45:
298 00dc DF91 pop r29
299 00de CF91 pop r28
300 00e0 1F91 pop r17
301 00e2 0F91 pop r16
302 00e4 0895 ret
303 .LFE10:
305 .global LCD_write_String
307 LCD_write_String:
308 .LFB11:
309 .LM46:
310 .LVL20:
311 00e6 CF93 push r28
312 00e8 DF93 push r29
313 /* prologue: function */
314 /* frame size = 0 */
315 00ea EA01 movw r28,r20
316 .LM47:
317 00ec 00D0 rcall LCD_set_XY
318 .LVL21:
319 00ee 00C0 rjmp .L25
320 .L26:
321 .LM48:
322 00f0 00D0 rcall LCD_write_char
323 .LM49:
324 00f2 2196 adiw r28,1
325 .L25:
326 .LM50:
327 00f4 8881 ld r24,Y
328 00f6 8823 tst r24
329 00f8 01F4 brne .L26
330 /* epilogue start */
331 .LM51:
332 00fa DF91 pop r29
333 00fc CF91 pop r28
334 .LVL22:
335 00fe 0895 ret
336 .LFE11:
338 .global LCD_write_shu
340 LCD_write_shu:
341 .LFB12:
342 .LM52:
343 .LVL23:
344 0100 CF92 push r12
345 0102 DF92 push r13
346 0104 EF92 push r14
347 0106 FF92 push r15
348 0108 0F93 push r16
349 010a 1F93 push r17
350 010c CF93 push r28
351 010e DF93 push r29
352 /* prologue: function */
353 /* frame size = 0 */
354 0110 D62E mov r13,r22
355 0112 142F mov r17,r20
356 .LM53:
357 0114 90E0 ldi r25,lo8(0)
358 0116 23E0 ldi r18,3
359 0118 880F 1: lsl r24
360 011a 991F rol r25
361 011c 2A95 dec r18
362 011e 01F4 brne 1b
363 .LVL24:
364 0120 C82E mov r12,r24
365 0122 00D0 rcall LCD_set_XY
366 .LVL25:
367 .LBB58:
368 .LM54:
369 0124 C12F mov r28,r17
370 0126 D0E0 ldi r29,lo8(0)
371 0128 94E0 ldi r25,4
372 012a CC0F 1: lsl r28
373 012c DD1F rol r29
374 012e 9A95 dec r25
375 0130 01F4 brne 1b
376 0132 8E01 movw r16,r28
377 0134 0050 subi r16,lo8(-(shuzi))
378 0136 1040 sbci r17,hi8(-(shuzi))
379 .LBE58:
380 .LM55:
381 0138 2896 adiw r28,8
382 .LM56:
383 013a 80E0 ldi r24,lo8(shuzi)
384 013c E82E mov r14,r24
385 013e 80E0 ldi r24,hi8(shuzi)
386 0140 F82E mov r15,r24
387 0142 EC0E add r14,r28
388 0144 FD1E adc r15,r29
389 0146 2897 sbiw r28,8
390 .L29:
391 .LBB59:
392 .LM57:
393 0148 F801 movw r30,r16
394 /* #APP */
395 ; 490 "lcd-char.c" 1
396 014a 8491 lpm r24, Z
397
398 ; 0 "" 2
399 .LVL26:
400 /* #NOAPP */
401 .LBE59:
402 014c 61E0 ldi r22,lo8(1)
403 014e 00D0 rcall LCD_write_byte
404 .LVL27:
405 0150 0F5F subi r16,lo8(-(1))
406 0152 1F4F sbci r17,hi8(-(1))
407 .LM58:
408 0154 0E15 cp r16,r14
409 0156 1F05 cpc r17,r15
410 0158 01F4 brne .L29
411 .LM59:
412 015a D394 inc r13
413 015c 8C2D mov r24,r12
414 015e 6D2D mov r22,r13
415 0160 00D0 rcall LCD_set_XY
416 .LM60:
417 0162 6096 adiw r28,16
418 0164 C050 subi r28,lo8(-(shuzi))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -