📄 595_1602_example.lis
字号:
01A8 ; }
01A8 E0910100 lds R30,_VPORTBit
01AC F0910200 lds R31,_VPORTBit+1
01B0 8081 ldd R24,z+0
01B2 8F7E andi R24,239
01B4 8083 std z+0,R24
01B6 .dbline 279
01B6 79DF rcall _refreshVirtualPORT
01B8 .dbline 279
01B8 .dbline 280
01B8 ; }
01B8 .dbline 281
01B8 ; }
01B8 E0910100 lds R30,_VPORTBit
01BC F0910200 lds R31,_VPORTBit+1
01C0 8081 ldd R24,z+0
01C2 8062 ori R24,32
01C4 8083 std z+0,R24
01C6 .dbline 281
01C6 71DF rcall _refreshVirtualPORT
01C8 .dbline 281
01C8 .dbline 283
01C8 ; }
01C8 ; }
01C8 80910000 lds R24,_VPORT
01CC 807F andi R24,240
01CE 80930000 sts _VPORT,R24
01D2 .dbline 283
01D2 842F mov R24,R20
01D4 8295 swap R24
01D6 8F70 andi R24,#0x0F
01D8 20900000 lds R2,_VPORT
01DC 282A or R2,R24
01DE 20920000 sts _VPORT,R2
01E2 .dbline 283
01E2 63DF rcall _refreshVirtualPORT
01E4 .dbline 283
01E4 .dbline 285
01E4 ; }
01E4 ; }
01E4 E0910100 lds R30,_VPORTBit
01E8 F0910200 lds R31,_VPORTBit+1
01EC 8081 ldd R24,z+0
01EE 8F7D andi R24,223
01F0 8083 std z+0,R24
01F2 .dbline 285
01F2 5BDF rcall _refreshVirtualPORT
01F4 .dbline 285
01F4 .dbline 286
01F4 ; }
01F4 .dbline 287
01F4 ; }
01F4 .dbline 288
01F4 ; }
01F4 E0910100 lds R30,_VPORTBit
01F8 F0910200 lds R31,_VPORTBit+1
01FC 8081 ldd R24,z+0
01FE 8062 ori R24,32
0200 8083 std z+0,R24
0202 .dbline 288
0202 53DF rcall _refreshVirtualPORT
0204 .dbline 288
0204 .dbline 290
0204 ; }
0204 ; }
0204 80910000 lds R24,_VPORT
0208 807F andi R24,240
020A 80930000 sts _VPORT,R24
020E .dbline 290
020E 842F mov R24,R20
0210 8F70 andi R24,15
0212 20900000 lds R2,_VPORT
0216 282A or R2,R24
0218 20920000 sts _VPORT,R2
021C .dbline 290
021C 46DF rcall _refreshVirtualPORT
021E .dbline 290
021E .dbline 292
021E ; }
021E ; }
021E E0910100 lds R30,_VPORTBit
0222 F0910200 lds R31,_VPORTBit+1
0226 8081 ldd R24,z+0
0228 8F7D andi R24,223
022A 8083 std z+0,R24
022C .dbline 292
022C 3EDF rcall _refreshVirtualPORT
022E .dbline 292
022E .dbline 293
022E ; }
022E .dbline 294
022E ; }
022E E0910100 lds R30,_VPORTBit
0232 F0910200 lds R31,_VPORTBit+1
0236 8081 ldd R24,z+0
0238 8F7E andi R24,239
023A 8083 std z+0,R24
023C .dbline 294
023C 36DF rcall _refreshVirtualPORT
023E .dbline 294
023E .dbline -2
023E L34:
023E 00D0 rcall pop_gset1
0240 .dbline 0 ; func end
0240 0895 ret
0242 .dbsym r Command 20 c
0242 .dbend
0242 .dbfunc e LCDSendData _LCDSendData fV
0242 ; Data -> R20
.even
0242 _LCDSendData::
0242 00D0 rcall push_gset1
0244 402F mov R20,R16
0246 .dbline -1
0246 .dbline 301
0246 ; }
0246 ; }
0246 ; }
0246 ; }
0246 ; }
0246 ; }
0246 ; }
0246 .dbline 302
0246 ; }
0246 E0910100 lds R30,_VPORTBit
024A F0910200 lds R31,_VPORTBit+1
024E 8081 ldd R24,z+0
0250 8061 ori R24,16
0252 8083 std z+0,R24
0254 .dbline 302
0254 2ADF rcall _refreshVirtualPORT
0256 .dbline 302
0256 .dbline 303
0256 ; }
0256 .dbline 304
0256 ; }
0256 E0910100 lds R30,_VPORTBit
025A F0910200 lds R31,_VPORTBit+1
025E 8081 ldd R24,z+0
0260 8062 ori R24,32
0262 8083 std z+0,R24
0264 .dbline 304
0264 22DF rcall _refreshVirtualPORT
0266 .dbline 304
0266 .dbline 306
0266 ; }
0266 ; }
0266 80910000 lds R24,_VPORT
026A 807F andi R24,240
026C 80930000 sts _VPORT,R24
0270 .dbline 306
0270 842F mov R24,R20
0272 8295 swap R24
0274 8F70 andi R24,#0x0F
0276 20900000 lds R2,_VPORT
027A 282A or R2,R24
027C 20920000 sts _VPORT,R2
0280 .dbline 306
0280 14DF rcall _refreshVirtualPORT
0282 .dbline 306
0282 .dbline 308
0282 ; }
0282 ; }
0282 E0910100 lds R30,_VPORTBit
0286 F0910200 lds R31,_VPORTBit+1
028A 8081 ldd R24,z+0
028C 8F7D andi R24,223
028E 8083 std z+0,R24
0290 .dbline 308
0290 0CDF rcall _refreshVirtualPORT
0292 .dbline 308
0292 .dbline 309
0292 ; }
0292 .dbline 311
0292 ; }
0292 ; }
0292 .dbline 312
0292 ; }
0292 E0910100 lds R30,_VPORTBit
0296 F0910200 lds R31,_VPORTBit+1
029A 8081 ldd R24,z+0
029C 8062 ori R24,32
029E 8083 std z+0,R24
02A0 .dbline 312
02A0 04DF rcall _refreshVirtualPORT
02A2 .dbline 312
02A2 .dbline 314
02A2 ; }
02A2 ; }
02A2 80910000 lds R24,_VPORT
02A6 807F andi R24,240
02A8 80930000 sts _VPORT,R24
02AC .dbline 314
02AC 842F mov R24,R20
02AE 8F70 andi R24,15
02B0 20900000 lds R2,_VPORT
02B4 282A or R2,R24
02B6 20920000 sts _VPORT,R2
02BA .dbline 314
02BA F7DE rcall _refreshVirtualPORT
02BC .dbline 314
02BC .dbline 316
02BC ; }
02BC ; }
02BC E0910100 lds R30,_VPORTBit
02C0 F0910200 lds R31,_VPORTBit+1
02C4 8081 ldd R24,z+0
02C6 8F7D andi R24,223
02C8 8083 std z+0,R24
02CA .dbline 316
02CA EFDE rcall _refreshVirtualPORT
02CC .dbline 316
02CC .dbline 317
02CC ; }
02CC .dbline 318
02CC ; }
02CC E0910100 lds R30,_VPORTBit
02D0 F0910200 lds R31,_VPORTBit+1
02D4 8081 ldd R24,z+0
02D6 8F7E andi R24,239
02D8 8083 std z+0,R24
02DA .dbline 318
02DA E7DE rcall _refreshVirtualPORT
02DC .dbline 318
02DC .dbline -2
02DC L35:
02DC 00D0 rcall pop_gset1
02DE .dbline 0 ; func end
02DE 0895 ret
02E0 .dbsym r Data 20 c
02E0 .dbend
02E0 .dbfunc e LCDWaitForReady _LCDWaitForReady fV
.even
02E0 _LCDWaitForReady::
02E0 .dbline -1
02E0 .dbline 325
02E0 ; }
02E0 ; }
02E0 ; }
02E0 ; }
02E0 ; }
02E0 ; }
02E0 ; }
02E0 .dbline 326
02E0 ; }
02E0 0EE1 ldi R16,30
02E2 10E0 ldi R17,0
02E4 41DF rcall _LCDDelayUs
02E6 .dbline -2
02E6 L36:
02E6 .dbline 0 ; func end
02E6 0895 ret
02E8 .dbend
02E8 .dbfunc e LCDSetXY _LCDSetXY fV
02E8 ; Address -> R20
02E8 ; Y -> R20
02E8 ; X -> R22
.even
02E8 _LCDSetXY::
02E8 00D0 rcall push_gset2
02EA 422F mov R20,R18
02EC 602F mov R22,R16
02EE .dbline -1
02EE .dbline 334
02EE ; }
02EE ; }
02EE ; }
02EE ; }
02EE ; }
02EE ; }
02EE ; }
02EE ; }
02EE .dbline 336
02EE ; }
02EE ; }
02EE 4423 tst R20
02F0 19F4 brne L38
02F2 .dbline 337
02F2 ; }
02F2 .dbline 338
02F2 ; }
02F2 462F mov R20,R22
02F4 4058 subi R20,128 ; addi 128
02F6 .dbline 339
02F6 ; }
02F6 02C0 rjmp L39
02F8 L38:
02F8 .dbline 341
02F8 ; }
02F8 ; }
02F8 .dbline 342
02F8 ; }
02F8 462F mov R20,R22
02FA 4054 subi R20,64 ; addi 192
02FC .dbline 343
02FC ; }
02FC L39:
02FC .dbline 345
02FC ; }
02FC ; }
02FC F1DF rcall _LCDWaitForReady
02FE .dbline 346
02FE ; }
02FE 042F mov R16,R20
0300 51DF rcall _LCDSendCommand
0302 .dbline -2
0302 L37:
0302 00D0 rcall pop_gset2
0304 .dbline 0 ; func end
0304 0895 ret
0306 .dbsym r Address 20 c
0306 .dbsym r Y 20 c
0306 .dbsym r X 22 c
0306 .dbend
0306 .dbfunc e LCDDisplayString _LCDDisplayString fV
0306 ; String -> R20,R21
.even
0306 _LCDDisplayString::
0306 00D0 rcall push_gset1
0308 A801 movw R20,R16
030A .dbline -1
030A .dbline 353
030A ; }
030A ; }
030A ; }
030A ; }
030A ; }
030A ; }
030A ; }
030A 06C0 rjmp L42
030C L41:
030C .dbline 355
030C .dbline 356
030C E9DF rcall _LCDWaitForReady
030E .dbline 357
030E FA01 movw R30,R20
0310 0081 ldd R16,z+0
0312 97DF rcall _LCDSendData
0314 .dbline 358
0314 4F5F subi R20,255 ; offset = 1
0316 5F4F sbci R21,255
0318 .dbline 359
0318 L42:
0318 .dbline 354
0318 ; }
0318 FA01 movw R30,R20
031A 2080 ldd R2,z+0
031C 2220 tst R2
031E B1F7 brne L41
0320 .dbline -2
0320 L40:
0320 00D0 rcall pop_gset1
0322 .dbline 0 ; func end
0322 0895 ret
0324 .dbsym r String 20 pc
0324 .dbend
0324 .dbfunc e LCDDisplayNum _LCDDisplayNum fV
0324 ; a -> R20
0324 ; BitCount -> y+6
0324 ; Num -> y+2
.even
0324 _LCDDisplayNum::
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -