📄 lcd1602b.lst
字号:
222 .LM44:
223 00ae 8FE0 ldi r24,lo8(15)
224 00b0 B5DF rcall Lcd_SetCmd
225 /* epilogue: frame size=0 */
226 00b2 0895 ret
227 /* epilogue end (size=1) */
228 /* function Lcd_ShowCursor size 3 (2) */
229 .LFE9:
231 .global Lcd_HideCursor
233 Lcd_HideCursor:
234 .LFB10:
235 .LM45:
236 /* prologue: frame size=0 */
237 /* prologue end (size=0) */
238 .LM46:
239 00b4 8CE0 ldi r24,lo8(12)
240 00b6 B2DF rcall Lcd_SetCmd
241 /* epilogue: frame size=0 */
242 00b8 0895 ret
243 /* epilogue end (size=1) */
244 /* function Lcd_HideCursor size 3 (2) */
245 .LFE10:
247 .global Lcd_Cls
249 Lcd_Cls:
250 .LFB11:
251 .LM47:
252 /* prologue: frame size=0 */
253 /* prologue end (size=0) */
254 .LM48:
255 00ba 81E0 ldi r24,lo8(1)
256 00bc AFDF rcall Lcd_SetCmd
257 /* epilogue: frame size=0 */
258 00be 0895 ret
259 /* epilogue end (size=1) */
260 /* function Lcd_Cls size 3 (2) */
261 .LFE11:
263 .global Lcd_SetData
265 Lcd_SetData:
266 .LFB13:
267 .LM49:
268 /* prologue: frame size=0 */
269 00c0 1F93 push r17
270 /* prologue end (size=1) */
271 00c2 182F mov r17,r24
272 .LM50:
273 00c4 80E0 ldi r24,lo8(0)
274 00c6 9CDF rcall Lcd_SetRwMode
275 .LM51:
276 00c8 81E0 ldi r24,lo8(1)
277 00ca A1DF rcall Lcd_SetCmdDataMode
278 .LM52:
279 00cc 88E2 ldi r24,lo8(40)
280 00ce 90E0 ldi r25,hi8(40)
281 00d0 00D0 rcall DelayUs
282 .LM53:
283 00d2 C29A sbi 56-0x20,2
284 .LM54:
285 00d4 20EF ldi r18,lo8(-16)
286 00d6 85B3 in r24,53-0x20
287 00d8 8223 and r24,r18
288 00da 85BB out 53-0x20,r24
289 00dc 912F mov r25,r17
290 00de 9295 swap r25
291 00e0 9F70 andi r25,0x0f
292 00e2 85B3 in r24,53-0x20
293 00e4 892B or r24,r25
294 00e6 85BB out 53-0x20,r24
295 .LM55:
296 00e8 C298 cbi 56-0x20,2
297 .LM56:
298 00ea C29A sbi 56-0x20,2
299 .LM57:
300 00ec 85B3 in r24,53-0x20
301 00ee 8223 and r24,r18
302 00f0 85BB out 53-0x20,r24
303 00f2 1F70 andi r17,lo8(15)
304 00f4 85B3 in r24,53-0x20
305 00f6 812B or r24,r17
306 00f8 85BB out 53-0x20,r24
307 .LM58:
308 00fa C298 cbi 56-0x20,2
309 .LM59:
310 00fc 81E0 ldi r24,lo8(1)
311 00fe 80DF rcall Lcd_SetRwMode
312 .LM60:
313 0100 80E0 ldi r24,lo8(0)
314 0102 85DF rcall Lcd_SetCmdDataMode
315 /* epilogue: frame size=0 */
316 0104 1F91 pop r17
317 0106 0895 ret
318 /* epilogue end (size=2) */
319 /* function Lcd_SetData size 36 (33) */
320 .LFE13:
322 .global Lcd_SetXy
324 Lcd_SetXy:
325 .LFB16:
326 .LM61:
327 /* prologue: frame size=0 */
328 /* prologue end (size=0) */
329 0108 982F mov r25,r24
330 .LM62:
331 010a 6623 tst r22
332 010c 19F4 brne .L19
333 .LM63:
334 010e 892F mov r24,r25
335 0110 8058 subi r24,lo8(-(-128))
336 0112 02C0 rjmp .L20
337 .L19:
338 .LM64:
339 0114 892F mov r24,r25
340 0116 8054 subi r24,lo8(-(-64))
341 .L20:
342 .LM65:
343 0118 81DF rcall Lcd_SetCmd
344 /* epilogue: frame size=0 */
345 011a 0895 ret
346 /* epilogue end (size=1) */
347 /* function Lcd_SetXy size 10 (9) */
348 .LFE16:
350 .global Lcd_PutChar
352 Lcd_PutChar:
353 .LFB17:
354 .LM66:
355 /* prologue: frame size=0 */
356 /* prologue end (size=0) */
357 .LM67:
358 011c D1DF rcall Lcd_SetData
359 /* epilogue: frame size=0 */
360 011e 0895 ret
361 /* epilogue end (size=1) */
362 /* function Lcd_PutChar size 2 (1) */
363 .LFE17:
365 .global Lcd_PutStr
367 Lcd_PutStr:
368 .LFB18:
369 .LM68:
370 /* prologue: frame size=0 */
371 0120 CF93 push r28
372 0122 DF93 push r29
373 /* prologue end (size=2) */
374 0124 EC01 movw r28,r24
375 .LM69:
376 0126 8881 ld r24,Y
377 0128 8823 tst r24
378 012a 29F0 breq .L27
379 .L25:
380 .LM70:
381 012c 8991 ld r24,Y+
382 012e C8DF rcall Lcd_SetData
383 .LM71:
384 0130 8881 ld r24,Y
385 0132 8823 tst r24
386 0134 D9F7 brne .L25
387 .L27:
388 /* epilogue: frame size=0 */
389 0136 DF91 pop r29
390 0138 CF91 pop r28
391 013a 0895 ret
392 /* epilogue end (size=3) */
393 /* function Lcd_PutStr size 14 (9) */
394 .LFE18:
396 .global Lcd_TestFunc
398 Lcd_TestFunc:
399 .LFB19:
400 .LM72:
401 /* prologue: frame size=0 */
402 /* prologue end (size=0) */
403 /* epilogue: frame size=0 */
404 013c 0895 ret
405 /* epilogue end (size=1) */
406 /* function Lcd_TestFunc size 1 (0) */
407 .LFE19:
409 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 Lcd1602b.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:20 .text:00000000 Lcd_SetRwMode
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:43 .text:0000000e Lcd_SetCmdDataMode
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:66 .text:0000001c Lcd_SetCmd
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:125 .text:00000064 Lcd_WaitForReady
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:150 .text:00000074 Lcd_Init
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:201 .text:000000a8 Lcd_Reset
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:217 .text:000000ae Lcd_ShowCursor
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:233 .text:000000b4 Lcd_HideCursor
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:249 .text:000000ba Lcd_Cls
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:265 .text:000000c0 Lcd_SetData
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:324 .text:00000108 Lcd_SetXy
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:352 .text:0000011c Lcd_PutChar
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:367 .text:00000120 Lcd_PutStr
D:\DOCUME~1\AI-ROBOT\LOCALS~1\Temp/ccCyaaaa.s:398 .text:0000013c Lcd_TestFunc
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
DelayMs
DelayUs
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -