📄 1820.lis
字号:
02F4 407F andi R20,240
02F6 .dbline 83
02F6 08EF ldi R16,248
02F8 D0DF xcall _lcd_out
02FA .dbline 84
02FA 042F mov R16,R20
02FC CEDF xcall _lcd_out
02FE .dbline 85
02FE 462F mov R20,R22
0300 4F70 andi R20,15
0302 .dbline 86
0302 842F mov R24,R20
0304 8F70 andi R24,#0x0F
0306 8295 swap R24
0308 482F mov R20,R24
030A .dbline 87
030A 082F mov R16,R24
030C C6DF xcall _lcd_out
030E .dbline -2
030E L75:
030E 0E940000 xcall pop_gset2
0312 .dbline 0 ; func end
0312 0895 ret
0314 .dbsym r s 20 c
0314 .dbsym r dat 22 c
0314 .dbend
0314 .dbfunc e lcd_control _lcd_control fV
.even
0314 _lcd_control::
0314 .dbline -1
0314 .dbline 91
0314 .dbline 92
0314 00E3 ldi R16,48
0316 EADF xcall _WR_control
0318 .dbline 93
0318 0CE0 ldi R16,12
031A E8DF xcall _WR_control
031C .dbline -2
031C L76:
031C .dbline 0 ; func end
031C 0895 ret
031E .dbend
031E .dbfunc e lcd_clear _lcd_clear fV
031E ; i -> R20,R21
.even
031E _lcd_clear::
031E 0E940000 xcall push_gset1
0322 .dbline -1
0322 .dbline 97
0322 .dbline 99
0322 01E0 ldi R16,1
0324 E3DF xcall _WR_control
0326 .dbline 100
0326 4427 clr R20
0328 5527 clr R21
032A L78:
032A .dbline 101
032A .dbline 102
032A 0000 nop
032C .dbline 103
032C 0000 nop
032E .dbline 104
032E L79:
032E .dbline 100
032E 4F5F subi R20,255 ; offset = 1
0330 5F4F sbci R21,255
0332 .dbline 100
0332 4838 cpi R20,136
0334 E3E1 ldi R30,19
0336 5E07 cpc R21,R30
0338 C4F3 brlt L78
033A .dbline -2
033A L77:
033A 0E940000 xcall pop_gset1
033E .dbline 0 ; func end
033E 0895 ret
0340 .dbsym r i 20 I
0340 .dbend
0340 .dbfunc e LCD_address _LCD_address fV
0340 ; address -> R20
0340 ; y -> R22
0340 ; x -> R20
.even
0340 _LCD_address::
0340 0E940000 xcall push_gset2
0344 622F mov R22,R18
0346 402F mov R20,R16
0348 .dbline -1
0348 .dbline 113
0348 .dbline 115
0348 5527 clr R21
034A 4030 cpi R20,0
034C 4507 cpc R20,R21
034E 69F0 breq L86
0350 X13:
0350 4130 cpi R20,1
0352 E0E0 ldi R30,0
0354 5E07 cpc R21,R30
0356 61F0 breq L87
0358 4230 cpi R20,2
035A E0E0 ldi R30,0
035C 5E07 cpc R21,R30
035E 59F0 breq L88
0360 4330 cpi R20,3
0362 E0E0 ldi R30,0
0364 5E07 cpc R21,R30
0366 51F0 breq L89
0368 0CC0 xjmp L83
036A X14:
036A .dbline 116
036A L86:
036A .dbline 118
036A 462F mov R20,R22
036C 4058 subi R20,128 ; addi 128
036E .dbline 119
036E 0BC0 xjmp L84
0370 L87:
0370 .dbline 121
0370 462F mov R20,R22
0372 4057 subi R20,112 ; addi 144
0374 .dbline 122
0374 08C0 xjmp L84
0376 L88:
0376 .dbline 124
0376 462F mov R20,R22
0378 4857 subi R20,120 ; addi 136
037A .dbline 125
037A 05C0 xjmp L84
037C L89:
037C .dbline 127
037C 462F mov R20,R22
037E 4856 subi R20,104 ; addi 152
0380 .dbline 128
0380 02C0 xjmp L84
0382 L83:
0382 .dbline 129
0382 462F mov R20,R22
0384 4058 subi R20,128 ; addi 128
0386 .dbline 130
0386 L84:
0386 .dbline 131
0386 042F mov R16,R20
0388 B1DF xcall _WR_control
038A .dbline -2
038A L82:
038A 0E940000 xcall pop_gset2
038E .dbline 0 ; func end
038E 0895 ret
0390 .dbsym r address 20 c
0390 .dbsym r y 22 c
0390 .dbsym r x 20 c
0390 .dbend
0390 .dbfunc e LCD_Write_string _LCD_Write_string fV
0390 ; s -> R20,R21
0390 ; Y -> R10
0390 ; X -> R22
.even
0390 _LCD_Write_string::
0390 0E940000 xcall push_gset3
0394 A22E mov R10,R18
0396 602F mov R22,R16
0398 4E81 ldd R20,y+6
039A 5F81 ldd R21,y+7
039C .dbline -1
039C .dbline 142
039C .dbline 144
039C 2A2D mov R18,R10
039E 062F mov R16,R22
03A0 CFDF xcall _LCD_address
03A2 05C0 xjmp L92
03A4 L91:
03A4 .dbline 146
03A4 .dbline 147
03A4 FA01 movw R30,R20
03A6 0081 ldd R16,z+0
03A8 8DDF xcall _WR_dat
03AA .dbline 148
03AA 4F5F subi R20,255 ; offset = 1
03AC 5F4F sbci R21,255
03AE .dbline 149
03AE L92:
03AE .dbline 145
03AE FA01 movw R30,R20
03B0 2080 ldd R2,z+0
03B2 2220 tst R2
03B4 B9F7 brne L91
03B6 .dbline -2
03B6 L90:
03B6 0E940000 xcall pop_gset3
03BA .dbline 0 ; func end
03BA 0895 ret
03BC .dbsym r s 20 pc
03BC .dbsym r Y 10 c
03BC .dbsym r X 22 c
03BC .dbend
03BC .dbfunc e BCD_ASCII _BCD_ASCII fc
03BC ; bcd -> R16
.even
03BC _BCD_ASCII::
03BC .dbline -1
03BC .dbline 161
03BC .dbline 162
03BC 0F70 andi R16,15
03BE .dbline 163
03BE 89E0 ldi R24,9
03C0 8017 cp R24,R16
03C2 10F4 brsh L95
03C4 .dbline 164
03C4 095C subi R16,201 ; addi 55
03C6 01C0 xjmp L96
03C8 L95:
03C8 .dbline 166
03C8 005D subi R16,208 ; addi 48
03CA L96:
03CA .dbline 167
03CA .dbline -2
03CA L94:
03CA .dbline 0 ; func end
03CA 0895 ret
03CC .dbsym r bcd 16 c
03CC .dbend
03CC .dbfunc e LCD_writeasc _LCD_writeasc fV
03CC ; data -> y+4
03CC ; y -> R22
03CC ; x -> R20
.even
03CC _LCD_writeasc::
03CC 0E940000 xcall push_gset2
03D0 622F mov R22,R18
03D2 402F mov R20,R16
03D4 .dbline -1
03D4 .dbline 172
03D4 .dbline 173
03D4 262F mov R18,R22
03D6 042F mov R16,R20
03D8 B3DF xcall _LCD_address
03DA .dbline 174
03DA 0C81 ldd R16,y+4
03DC 73DF xcall _WR_dat
03DE .dbline -2
03DE L97:
03DE 0E940000 xcall pop_gset2
03E2 .dbline 0 ; func end
03E2 0895 ret
03E4 .dbsym l data 4 c
03E4 .dbsym r y 22 c
03E4 .dbsym r x 20 c
03E4 .dbend
03E4 .dbfunc e Lcd_INT _Lcd_INT fV
.even
03E4 _Lcd_INT::
03E4 .dbline -1
03E4 .dbline 178
03E4 .dbline 181
03E4 97DF xcall _lcd_control
03E6 .dbline -2
03E6 L98:
03E6 .dbline 0 ; func end
03E6 0895 ret
03E8 .dbend
03E8 .dbfunc e lcd_writechar _lcd_writechar fV
03E8 ; number -> y+4
03E8 ; Y -> R22
03E8 ; X -> R20
.even
03E8 _lcd_writechar::
03E8 0E940000 xcall push_gset2
03EC 622F mov R22,R18
03EE 402F mov R20,R16
03F0 .dbline -1
03F0 .dbline 185
03F0 .dbline 186
03F0 262F mov R18,R22
03F2 042F mov R16,R20
03F4 A5DF xcall _LCD_address
03F6 .dbline 187
03F6 0C81 ldd R16,y+4
03F8 0295 swap R16
03FA 0F70 andi R16,#0x0F
03FC DFDF xcall _BCD_ASCII
03FE 62DF xcall _WR_dat
0400 .dbline 188
0400 0C81 ldd R16,y+4
0402 DCDF xcall _BCD_ASCII
0404 5FDF xcall _WR_dat
0406 .dbline -2
0406 L99:
0406 0E940000 xcall pop_gset2
040A .dbline 0 ; func end
040A 0895 ret
040C .dbsym l number 4 c
040C .dbsym r Y 22 c
040C .dbsym r X 20 c
040C .dbend
040C .dbfunc e lcd_write2 _lcd_write2 fV
040C ; number -> y+4
040C ; Y -> R22
040C ; X -> R20
.even
040C _lcd_write2::
040C 0E940000 xcall push_gset2
0410 622F mov R22,R18
0412 402F mov R20,R16
0414 .dbline -1
0414 .dbline 192
0414 .dbline 193
0414 262F mov R18,R22
0416 042F mov R16,R20
0418 93DF xcall _LCD_address
041A .dbline 197
041A 0C81 ldd R16,y+4
041C 1D81 ldd R17,y+5
041E CEDF xcall _BCD_ASCII
0420 51DF xcall _WR_dat
0422 .dbline -2
0422 L100:
0422 0E940000 xcall pop_gset2
0426 .dbline 0 ; func end
0426 0895 ret
0428 .dbsym l number 4 i
0428 .dbsym r Y 22 c
0428 .dbsym r X 20 c
0428 .dbend
0428 .dbfunc e show_time _show_time fV
0428 ; temp -> R20
0428 ; time -> R22,R23
.even
0428 _show_time::
0428 0E940000 xcall push_gset2
042C B801 movw R22,R16
042E 2197 sbiw R28,1
0430 .dbline -1
0430 .dbline 200
0430 .dbline 203
0430 2CE3 ldi R18,60
0432 30E0 ldi R19,0
0434 8B01 movw R16,R22
0436 0E940000 xcall div16u
043A 402F mov R20,R16
043C .dbline 204
043C 1AE0 ldi R17,10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -