📄 1602.lis
字号:
00A6 482F mov R20,R24
00A8 .dbline 87
00A8 ; }
00A8 82B3 in R24,0x12
00AA 8F70 andi R24,15
00AC 82BB out 0x12,R24
00AE .dbline 88
00AE ; }
00AE 842F mov R24,R20
00B0 807F andi R24,240
00B2 22B2 in R2,0x12
00B4 282A or R2,R24
00B6 22BA out 0x12,R2
00B8 .dbline 89
00B8 ; }
00B8 DEDF rcall _LCD_en_write
00BA .dbline -2
00BA L19:
00BA 00D0 rcall pop_gset1
00BC .dbline 0 ; func end
00BC 0895 ret
00BE .dbsym r command 20 c
00BE .dbend
00BE .dbfunc e LCD_write_data _LCD_write_data fV
00BE ; data -> R20
.even
00BE _LCD_write_data::
00BE 00D0 rcall push_gset1
00C0 402F mov R20,R16
00C2 .dbline -1
00C2 .dbline 94
00C2 ; }
00C2 ; }
00C2 ; }
00C2 ; }
00C2 ; }
00C2 .dbline 95
00C2 ; }
00C2 00E1 ldi R16,16
00C4 10E0 ldi R17,0
00C6 9EDF rcall _delay_nus
00C8 .dbline 96
00C8 ; }
00C8 909A sbi 0x12,0
00CA .dbline 97
00CA ; }
00CA 82B3 in R24,0x12
00CC 8F70 andi R24,15
00CE 82BB out 0x12,R24
00D0 .dbline 98
00D0 ; }
00D0 842F mov R24,R20
00D2 807F andi R24,240
00D4 22B2 in R2,0x12
00D6 282A or R2,R24
00D8 22BA out 0x12,R2
00DA .dbline 99
00DA ; }
00DA CDDF rcall _LCD_en_write
00DC .dbline 100
00DC ; }
00DC 842F mov R24,R20
00DE 8F70 andi R24,#0x0F
00E0 8295 swap R24
00E2 482F mov R20,R24
00E4 .dbline 101
00E4 ; }
00E4 82B3 in R24,0x12
00E6 8F70 andi R24,15
00E8 82BB out 0x12,R24
00EA .dbline 102
00EA ; }
00EA 842F mov R24,R20
00EC 807F andi R24,240
00EE 22B2 in R2,0x12
00F0 282A or R2,R24
00F2 22BA out 0x12,R2
00F4 .dbline 103
00F4 ; }
00F4 C0DF rcall _LCD_en_write
00F6 .dbline -2
00F6 L20:
00F6 00D0 rcall pop_gset1
00F8 .dbline 0 ; func end
00F8 0895 ret
00FA .dbsym r data 20 c
00FA .dbend
00FA .dbfunc e LCD_set_xy _LCD_set_xy fV
00FA ; address -> R20
00FA ; y -> R20
00FA ; x -> R22
.even
00FA _LCD_set_xy::
00FA 00D0 rcall push_gset2
00FC 422F mov R20,R18
00FE 602F mov R22,R16
0100 .dbline -1
0100 .dbline 107
0100 ; }
0100 ; }
0100 ; }
0100 ; }
0100 .dbline 109
0100 ; }
0100 ; }
0100 4423 tst R20
0102 19F4 brne L22
0104 .dbline 109
0104 462F mov R20,R22
0106 4058 subi R20,128 ; addi 128
0108 02C0 rjmp L23
010A L22:
010A .dbline 110
010A ; }
010A 462F mov R20,R22
010C 4054 subi R20,64 ; addi 192
010E L23:
010E .dbline 111
010E ; }
010E 042F mov R16,R20
0110 B8DF rcall _LCD_write_command
0112 .dbline -2
0112 L21:
0112 00D0 rcall pop_gset2
0114 .dbline 0 ; func end
0114 0895 ret
0116 .dbsym r address 20 c
0116 .dbsym r y 20 c
0116 .dbsym r x 22 c
0116 .dbend
0116 .dbfunc e LCD_write_string _LCD_write_string fV
0116 ; s -> R20,R21
0116 ; Y -> R10
0116 ; X -> R22
.even
0116 _LCD_write_string::
0116 00D0 rcall push_gset3
0118 A22E mov R10,R18
011A 602F mov R22,R16
011C 4E81 ldd R20,y+6
011E 5F81 ldd R21,y+7
0120 .dbline -1
0120 .dbline 115
0120 ; }
0120 ; }
0120 ; }
0120 ; }
0120 .dbline 116
0120 ; }
0120 2A2D mov R18,R10
0122 062F mov R16,R22
0124 EADF rcall _LCD_set_xy
0126 05C0 rjmp L26
0128 L25:
0128 .dbline 118
0128 .dbline 119
0128 FA01 movw R30,R20
012A 0081 ldd R16,z+0
012C C8DF rcall _LCD_write_data
012E .dbline 120
012E 4F5F subi R20,255 ; offset = 1
0130 5F4F sbci R21,255
0132 .dbline 121
0132 L26:
0132 .dbline 117
0132 ; }
0132 FA01 movw R30,R20
0134 2080 ldd R2,z+0
0136 2220 tst R2
0138 B9F7 brne L25
013A .dbline -2
013A L24:
013A 00D0 rcall pop_gset3
013C .dbline 0 ; func end
013C 0895 ret
013E .dbsym r s 20 pc
013E .dbsym r Y 10 c
013E .dbsym r X 22 c
013E .dbend
013E .dbfunc e LCD_write_char _LCD_write_char fV
013E ; data -> y+4
013E ; Y -> R22
013E ; X -> R20
.even
013E _LCD_write_char::
013E 00D0 rcall push_gset2
0140 622F mov R22,R18
0142 402F mov R20,R16
0144 .dbline -1
0144 .dbline 127
0144 ; }
0144 ; }
0144 ; }
0144 ; }
0144 ; }
0144 ; }
0144 ; }
0144 ; }
0144 ; }
0144 ; }
0144 .dbline 128
0144 ; }
0144 262F mov R18,R22
0146 042F mov R16,R20
0148 D8DF rcall _LCD_set_xy
014A .dbline 129
014A ; }
014A 0C81 ldd R16,y+4
014C B8DF rcall _LCD_write_data
014E .dbline -2
014E L28:
014E 00D0 rcall pop_gset2
0150 .dbline 0 ; func end
0150 0895 ret
0152 .dbsym l data 4 c
0152 .dbsym r Y 22 c
0152 .dbsym r X 20 c
0152 .dbend
0152 .dbfile 1602.c
0152 .dbfunc e main _main fV
.even
0152 _main::
0152 2297 sbiw R28,2
0154 .dbline -1
0154 .dbline 6
0154 .dbline 7
0154 7BDF rcall _LCD_init
0156 .dbline 9
0156 80E0 ldi R24,<L30
0158 90E0 ldi R25,>L30
015A 9983 std y+1,R25
015C 8883 std y+0,R24
015E 2227 clr R18
0160 02E0 ldi R16,2
0162 D9DF rcall _LCD_write_string
0164 11C0 rjmp L32
0166 L31:
0166 .dbline 11
0166 .dbline 13
0166 80E0 ldi R24,<L34
0168 90E0 ldi R25,>L34
016A 9983 std y+1,R25
016C 8883 std y+0,R24
016E 21E0 ldi R18,1
0170 02E0 ldi R16,2
0172 D1DF rcall _LCD_write_string
0174 .dbline 15
0174 88E3 ldi R24,56
0176 8883 std y+0,R24
0178 2227 clr R18
017A 0CE0 ldi R16,12
017C E0DF rcall _LCD_write_char
017E .dbline 16
017E 88E3 ldi R24,56
0180 8883 std y+0,R24
0182 2227 clr R18
0184 0DE0 ldi R16,13
0186 DBDF rcall _LCD_write_char
0188 .dbline 17
0188 L32:
0188 .dbline 10
0188 EECF rjmp L31
018A X0:
018A .dbline -2
018A L29:
018A 2296 adiw R28,2
018C .dbline 0 ; func end
018C 0895 ret
018E .dbend
.area data(ram, con, rel)
0000 .dbfile 1602.c
0000 L34:
0000 .blkb 11
.area idata
0000 3132333435363738393000 .byte 49,50,51,52,53,54,55,56,57,48,0
.area data(ram, con, rel)
000B .dbfile 1602.c
000B L30:
000B .blkb 8
.area idata
000B 68656C6C6F212100 .byte 'h,'e,'l,'l,'o,33,33,0
.area data(ram, con, rel)
0013 .dbfile 1602.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -