📄 main.lis
字号:
0104 87BB out 0x17,R24
0106 .dbline 22
0106 80EF ldi R24,240
0108 88BB out 0x18,R24
010A .dbline 23
010A 04E1 ldi R16,20
010C 10E0 ldi R17,0
010E 93DF xcall _delay_nms
0110 .dbline 25
0110 CF9B sbis 0x19,7
0112 01C0 rjmp L44
0114 .dbline 26
0114 0BC0 xjmp L45
0116 L44:
0116 .dbline 27
0116 CE9B sbis 0x19,6
0118 02C0 rjmp L46
011A .dbline 28
011A 4395 inc R20
011C 07C0 xjmp L47
011E L46:
011E .dbline 29
011E CD9B sbis 0x19,5
0120 02C0 rjmp L48
0122 .dbline 30
0122 4E5F subi R20,254 ; addi 2
0124 03C0 xjmp L49
0126 L48:
0126 .dbline 31
0126 CC9B sbis 0x19,4
0128 01C0 rjmp L50
012A .dbline 32
012A 4D5F subi R20,253 ; addi 3
012C L50:
012C L49:
012C L47:
012C L45:
012C .dbline 33
012C 80EF ldi R24,240
012E 87BB out 0x17,R24
0130 .dbline 34
0130 8FE0 ldi R24,15
0132 88BB out 0x18,R24
0134 .dbline 35
0134 042F mov R16,R20
0136 .dbline -2
0136 L35:
0136 0E940000 xcall pop_gset1
013A .dbline 0 ; func end
013A 0895 ret
013C .dbsym r key 20 c
013C .dbend
013C .dbfile C:\DOCUME~1\Administrator\桌面\ad2543/lcd.h
013C .dbfunc e LCD_init _LCD_init fV
.even
013C _LCD_init::
013C .dbline -1
013C .dbline 39
013C .dbline 40
013C 8AB3 in R24,0x1a
013E 806F ori R24,240
0140 8ABB out 0x1a,R24
0142 .dbline 41
0142 D39A sbi 0x1a,3
0144 .dbline 42
0144 D19A sbi 0x1a,1
0146 .dbline 43
0146 28E2 ldi R18,40
0148 01E0 ldi R16,1
014A 17D0 xcall _LCD_Write_char
014C .dbline 44
014C 10D0 xcall _LCD_en_write
014E .dbline 45
014E 08E2 ldi R16,40
0150 10E0 ldi R17,0
0152 58DF xcall _delay_nus
0154 .dbline 46
0154 28E2 ldi R18,40
0156 01E0 ldi R16,1
0158 10D0 xcall _LCD_Write_char
015A .dbline 47
015A 2CE0 ldi R18,12
015C 01E0 ldi R16,1
015E 0DD0 xcall _LCD_Write_char
0160 .dbline 48
0160 21E0 ldi R18,1
0162 01E0 ldi R16,1
0164 0AD0 xcall _LCD_Write_char
0166 .dbline 49
0166 02E0 ldi R16,2
0168 10E0 ldi R17,0
016A 65DF xcall _delay_nms
016C .dbline -2
016C L52:
016C .dbline 0 ; func end
016C 0895 ret
016E .dbend
016E .dbfunc e LCD_en_write _LCD_en_write fV
.even
016E _LCD_en_write::
016E .dbline -1
016E .dbline 53
016E .dbline 54
016E DB9A sbi 0x1b,3
0170 .dbline 55
0170 01E0 ldi R16,1
0172 10E0 ldi R17,0
0174 47DF xcall _delay_nus
0176 .dbline 56
0176 DB98 cbi 0x1b,3
0178 .dbline -2
0178 L53:
0178 .dbline 0 ; func end
0178 0895 ret
017A .dbend
017A .dbfunc e LCD_Write_char _LCD_Write_char fV
017A ; data -> R20
017A ; command -> R22
.even
017A _LCD_Write_char::
017A 0E940000 xcall push_gset2
017E 422F mov R20,R18
0180 602F mov R22,R16
0182 .dbline -1
0182 .dbline 60
0182 .dbline 61
0182 00E1 ldi R16,16
0184 10E0 ldi R17,0
0186 3EDF xcall _delay_nus
0188 .dbline 62
0188 6130 cpi R22,1
018A 11F4 brne L55
018C .dbline 63
018C D998 cbi 0x1b,1
018E 03C0 xjmp L56
0190 L55:
0190 .dbline 65
0190 8BB3 in R24,0x1b
0192 8270 andi R24,2
0194 8BBB out 0x1b,R24
0196 L56:
0196 .dbline 67
0196 8BB3 in R24,0x1b
0198 8F70 andi R24,15
019A 8BBB out 0x1b,R24
019C .dbline 68
019C 842F mov R24,R20
019E 807F andi R24,240
01A0 2BB2 in R2,0x1b
01A2 282A or R2,R24
01A4 2BBA out 0x1b,R2
01A6 .dbline 69
01A6 E3DF xcall _LCD_en_write
01A8 .dbline 70
01A8 842F mov R24,R20
01AA 8F70 andi R24,#0x0F
01AC 8295 swap R24
01AE 482F mov R20,R24
01B0 .dbline 71
01B0 8BB3 in R24,0x1b
01B2 8F70 andi R24,15
01B4 8BBB out 0x1b,R24
01B6 .dbline 72
01B6 842F mov R24,R20
01B8 807F andi R24,240
01BA 2BB2 in R2,0x1b
01BC 282A or R2,R24
01BE 2BBA out 0x1b,R2
01C0 .dbline 73
01C0 D6DF xcall _LCD_en_write
01C2 .dbline -2
01C2 L54:
01C2 0E940000 xcall pop_gset2
01C6 .dbline 0 ; func end
01C6 0895 ret
01C8 .dbsym r data 20 c
01C8 .dbsym r command 22 c
01C8 .dbend
01C8 .dbfunc e LCD_Clear _LCD_Clear fV
.even
01C8 _LCD_Clear::
01C8 .dbline -1
01C8 .dbline 80
01C8 .dbline 81
01C8 ; }
01C8 21E0 ldi R18,1
01CA 01E0 ldi R16,1
01CC D6DF xcall _LCD_Write_char
01CE .dbline -2
01CE L57:
01CE .dbline 0 ; func end
01CE 0895 ret
01D0 .dbend
01D0 .dbfunc e LCD_set_xy _LCD_set_xy fV
01D0 ; address -> R20
01D0 ; y -> R20
01D0 ; x -> R22
.even
01D0 _LCD_set_xy::
01D0 0E940000 xcall push_gset2
01D4 422F mov R20,R18
01D6 602F mov R22,R16
01D8 .dbline -1
01D8 .dbline 91
01D8 ; }
01D8 ; }
01D8 ; }
01D8 ; }
01D8 ; }
01D8 ; }
01D8 ; }
01D8 ; }
01D8 ; }
01D8 ; }
01D8 .dbline 93
01D8 ; }
01D8 ; }
01D8 .dbline 94
01D8 ; }
01D8 4423 tst R20
01DA 19F4 brne L59
01DC .dbline 95
01DC ; }
01DC 462F mov R20,R22
01DE 4058 subi R20,128 ; addi 128
01E0 02C0 xjmp L60
01E2 L59:
01E2 .dbline 97
01E2 ; }
01E2 ; }
01E2 462F mov R20,R22
01E4 4057 subi R20,112 ; addi 144
01E6 L60:
01E6 .dbline 98
01E6 ; }
01E6 242F mov R18,R20
01E8 01E0 ldi R16,1
01EA C7DF xcall _LCD_Write_char
01EC .dbline 99
01EC ; }
01EC .dbline -2
01EC L58:
01EC 0E940000 xcall pop_gset2
01F0 .dbline 0 ; func end
01F0 0895 ret
01F2 .dbsym r address 20 c
01F2 .dbsym r y 20 c
01F2 .dbsym r x 22 c
01F2 .dbend
01F2 .dbfunc e LCD_DisplayCharacter _LCD_DisplayCharacter fV
01F2 ; Char -> R20
.even
01F2 _LCD_DisplayCharacter::
01F2 0E940000 xcall push_gset1
01F6 402F mov R20,R16
01F8 .dbline -1
01F8 .dbline 109
01F8 ; }
01F8 ; }
01F8 ; }
01F8 ; }
01F8 ; }
01F8 ; }
01F8 ; }
01F8 ; }
01F8 ; }
01F8 ; }
01F8 .dbline 110
01F8 ; }
01F8 242F mov R18,R20
01FA 0027 clr R16
01FC BEDF xcall _LCD_Write_char
01FE .dbline -2
01FE L61:
01FE 0E940000 xcall pop_gset1
0202 .dbline 0 ; func end
0202 0895 ret
0204 .dbsym r Char 20 c
0204 .dbend
0204 .dbfunc e LCD_DisplayString _LCD_DisplayString fV
0204 ; string -> R20,R21
0204 ; y -> R10
0204 ; x -> R22
.even
0204 _LCD_DisplayString::
0204 0E940000 xcall push_gset3
0208 A22E mov R10,R18
020A 602F mov R22,R16
020C 4E81 ldd R20,y+6
020E 5F81 ldd R21,y+7
0210 .dbline -1
0210 .dbline 120
0210 ; }
0210 ; }
0210 ; }
0210 ; }
0210 ; }
0210 ; }
0210 ; }
0210 ; }
0210 ; }
0210 ; }
0210 .dbline 121
0210 ; }
0210 2A2D mov R18,R10
0212 062F mov R16,R22
0214 DDDF xcall _LCD_set_xy
0216 04C0 xjmp L64
0218 L63:
0218 .dbline 123
0218 FA01 movw R30,R20
021A 0191 ld R16,Z+
021C AF01 movw R20,R30
021E E9DF xcall _LCD_DisplayCharacter
0220 L64:
0220 .dbline 122
0220 ; }
0220 FA01 movw R30,R20
0222 2080 ldd R2,z+0
0224 2220 tst R2
0226 C1F7 brne L63
0228 .dbline -2
0228 L62:
0228 0E940000 xcall pop_gset3
022C .dbline 0 ; func end
022C 0895 ret
022E .dbsym r string 20 pc
022E .dbsym r y 10 c
022E .dbsym r x 22 c
022E .dbend
022E .dbfunc e LCD_DisplayInt _LCD_DisplayInt fV
022E ; n -> R22
022E ; j -> R22
022E ; str -> R10,R11
022E ; a -> y+2
022E ; i -> R20
022E ; t -> R20,R21
022E ; y -> R14
022E ; x -> R12
.even
022E _LCD_DisplayInt::
022E 0E940000 xcall push_gset5
0232 E22E mov R14,R18
0234 C02E mov R12,R16
0236 2797 sbiw R28,7
0238 4989 ldd R20,y+17
023A 5A89 ldd R21,y+18
023C .dbline -1
023C .dbline 134
023C ; }
023C ; }
023C ; }
023C ; }
023C ; }
023C ; }
023C ; }
023C ; }
023C ; }
023C ; }
023C ; }
023C ; }
023C .dbline 137
023C ; }
023C ; }
023C ; }
023C 80E0 ldi R24,<_ch1
023E 90E0 ldi R25,>_ch1
0240 5C01 movw R10,R24
0242 .dbline 138
0242 ; }
0242 20E1 ldi R18,10000
0244 37E2 ldi R19,39
0246 8A01 movw R16,R20
0248 0E940000 xcall div16u
024C 2AE0 ldi R18,10
024E 30E0 ldi R19,0
0250 0E940000 xcall mod16u
0254 0A83 std y+2,R16
0256 .dbline 139
0256 ; }
0256 28EE ldi R18,1000
0258 33E0 ldi R19,3
025A 8A01 movw R16,R20
025C 0E940000 xcall div16u
0260 2AE0 ldi R18,10
0262 30E0 ldi R19,0
0264 0E940000 xcall mod16u
0268 0B83 std y+3,R16
026A .dbline 140
026A ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -