display_board2.lst
来自「一个LED特效显示程序」· LST 代码 · 共 952 行 · 第 1/2 页
LST
952 行
0247 940E0452 CALL 0x452
0249 E98A LDI R24,0x9A
024A 93900082 STS PDataYMax+1,R25
024C 93800081 STS PDataYMax,R24
024E C033 RJMP 0x0282
024F 940E0426 CALL 0x426
0251 C030 RJMP 0x0282
0252 9180007F LDS R24,PDataY
0254 91900080 LDS R25,PDataY+1
0256 9701 SBIW R24,1
0257 93900080 STS PDataY+1,R25
0259 9380007F STS PDataY,R24
025B C026 RJMP 0x0282
025C E081 LDI R24,1
025D 9380008F STS ModelContJuge,R24
025F 2388 TST R24
0260 F049 BEQ 0x026A
0261 940E0472 CALL 0x472
0263 9601 ADIW R24,1
0264 940E0430 CALL 0x430
0266 9601 ADIW R24,1
0267 940E0452 CALL 0x452
0269 C008 RJMP 0x0272
026A 940E0472 CALL 0x472
026C 9701 SBIW R24,1
026D 940E0430 CALL 0x430
026F 9701 SBIW R24,1
0270 940E0452 CALL 0x452
0272 940E044D CALL 0x44D
0274 1542 CP R20,R2
0275 0553 CPC R21,R3
0276 F41C BGE 0x027A
0277 2422 CLR R2
0278 9220008F STS ModelContJuge,R2
027A 940E044D CALL 0x44D
027C 1624 CP R2,R20
027D 0635 CPC R3,R21
027E F41C BGE 0x0282
027F E081 LDI R24,1
0280 9380008F STS ModelContJuge,R24
0282 E004 LDI R16,4
0283 E010 LDI R17,0
0284 DF19 RCALL _RAM_Read
0285 2E20 MOV R2,R16
0286 E005 LDI R16,5
0287 E010 LDI R17,0
0288 922F PUSH R2
0289 DF14 RCALL _RAM_Read
028A 902F POP R2
028B 2E40 MOV R4,R16
028C 2455 CLR R5
028D 2C54 MOV R5,R4
028E 2444 CLR R4
028F 2433 CLR R3
0290 2024 AND R2,R4
0291 2035 AND R3,R5
0292 9230008E STS ModelDelayTime+1,R3
0294 9220008D STS ModelDelayTime,R2
0296 D119 RCALL pop_gset2
0297 9508 RET
_KEY_event:
0298 9100006D LDS R16,key_num
029A 2711 CLR R17
029B 3000 CPI R16,0
029C 0701 CPC R16,R17
029D F0F1 BEQ 0x02BC
029E 3001 CPI R16,1
029F E0E0 LDI R30,0
02A0 071E CPC R17,R30
02A1 F0D1 BEQ 0x02BC
02A2 3002 CPI R16,2
02A3 E0E0 LDI R30,0
02A4 071E CPC R17,R30
02A5 F029 BEQ 0x02AB
02A6 3003 CPI R16,3
02A7 E0E0 LDI R30,0
02A8 071E CPC R17,R30
02A9 F079 BEQ 0x02B9
02AA C011 RJMP 0x02BC
02AB 9180008C LDS R24,DispModel
02AD 5F8F SUBI R24,0xFF
02AE 9380008C STS DispModel,R24
02B0 E088 LDI R24,0x8
02B1 9020008C LDS R2,DispModel
02B3 1582 CP R24,R2
02B4 F438 BCC 0x02BC
02B5 2422 CLR R2
02B6 9220008C STS DispModel,R2
02B8 C003 RJMP 0x02BC
02B9 B382 IN R24,0x12
02BA 7B8F ANDI R24,0xBF
02BB BB82 OUT 0x12,R24
02BC 9508 RET
_Display_event:
02BD 940E0443 CALL 0x443
02BF 708F ANDI R24,0xF
02C0 7090 ANDI R25,0
02C1 93800060 STS Disp_Buff,R24
02C3 940E0443 CALL 0x443
02C5 940E0448 CALL 0x448
02C7 940E0448 CALL 0x448
02C9 708F ANDI R24,0xF
02CA 7090 ANDI R25,0
02CB 93800061 STS Disp_Buff+1,R24
02CD 90200088 LDS R2,DataIndex
02CF 90300089 LDS R3,DataIndex+1
02D1 2C23 MOV R2,R3
02D2 2433 CLR R3
02D3 FC27 SBRC R2,7
02D4 9430 COM R3
02D5 92200062 STS Disp_Buff+2,R2
02D7 9020008C LDS R2,DispModel
02D9 92200063 STS Disp_Buff+3,R2
02DB 90200087 LDS R2,HeadEN
02DD 92200066 STS 0x66,R2
02DF 90200085 LDS R2,FileEnd
02E1 92200067 STS 0x67,R2
02E3 9508 RET
_main:
temp --> Y+1
02E4 DE7F RCALL _device_int
02E5 CFFF RJMP 0x02E5
02E6 9508 RET
_exi_int0:
adress --> R20
i --> R22
02E7 D0E9 RCALL push_lset
02E8 D0CF RCALL push_gset2
02E9 2766 CLR R22
02EA 9140007F LDS R20,PDataY
02EC 91500080 LDS R21,PDataY+1
02EE 0F44 LSL R20
02EF 1F55 ROL R21
02F0 0F44 LSL R20
02F1 1F55 ROL R21
02F2 0F44 LSL R20
02F3 1F55 ROL R21
02F4 C00D RJMP 0x0302
02F5 011A MOVW R2,R20
02F6 5F4F SUBI R20,0xFF
02F7 4F5F SBCI R21,0xFF
02F8 0181 MOVW R16,R2
02F9 DEA4 RCALL _RAM_Read
02FA E986 LDI R24,0x96
02FB E090 LDI R25,0
02FC 2FE6 MOV R30,R22
02FD 27FF CLR R31
02FE 0FE8 ADD R30,R24
02FF 1FF9 ADC R31,R25
0300 8300 STD Z+0,R16
0301 9563 INC R22
0302 3068 CPI R22,0x8
0303 F388 BCS 0x02F5
0304 DE81 RCALL _Screen_send
0305 940E0426 CALL 0x426
0307 940E044D CALL 0x44D
0309 1582 CP R24,R2
030A 0593 CPC R25,R3
030B F441 BNE 0x0314
030C 90200083 LDS R2,PDataYMin
030E 90300084 LDS R3,PDataYMin+1
0310 92300080 STS PDataY+1,R3
0312 9220007F STS PDataY,R2
0314 D09B RCALL pop_gset2
0315 D0D2 RCALL pop_lset
0316 9518 RETI
_timer1_vof:
0317 D0B9 RCALL push_lset
0318 9478 BSET 7
0319 940E046D CALL 0x46D
031B 9180007D LDS R24,sys_cont
031D 9190007E LDS R25,sys_cont+1
031F 9601 ADIW R24,1
0320 9390007E STS sys_cont+1,R25
0322 9380007D STS sys_cont,R24
0324 3E88 CPI R24,0xE8
0325 E0E3 LDI R30,3
0326 079E CPC R25,R30
0327 F431 BNE 0x032E
0328 2422 CLR R2
0329 2433 CLR R3
032A 9230007E STS sys_cont+1,R3
032C 9220007D STS sys_cont,R2
032E 940E043E CALL 0x43E
0330 9601 ADIW R24,1
0331 940E0439 CALL 0x439
0333 90200087 LDS R2,HeadEN
0335 2022 TST R2
0336 F539 BNE 0x035E
0337 90200085 LDS R2,FileEnd
0339 2022 TST R2
033A F519 BNE 0x035E
033B 3280 CPI R24,0x20
033C E0E3 LDI R30,3
033D 079E CPC R25,R30
033E F0F8 BCS 0x035E
033F 9020007D LDS R2,sys_cont
0341 9030007E LDS R3,sys_cont+1
0343 2022 TST R2
0344 F491 BNE 0x0357
0345 2033 TST R3
0346 F481 BNE 0x0357
0347 91800092 LDS R24,time_out_s
0349 5F8F SUBI R24,0xFF
034A 93800092 STS time_out_s,R24
034C E184 LDI R24,0x14
034D 93800092 STS time_out_s,R24
034F 2388 TST R24
0350 F031 BEQ 0x0357
0351 E081 LDI R24,1
0352 E090 LDI R25,0
0353 940E0439 CALL 0x439
0355 940E0463 CALL 0x463
0357 EA0A LDI R16,0xAA
0358 DE12 RCALL _uart_TX
0359 940E043E CALL 0x43E
035B 9701 SBIW R24,1
035C 940E0439 CALL 0x439
035E 940E043E CALL 0x43E
0360 3E88 CPI R24,0xE8
0361 E0E3 LDI R30,3
0362 079E CPC R25,R30
0363 F421 BNE 0x0368
0364 E081 LDI R24,1
0365 E090 LDI R25,0
0366 940E0439 CALL 0x439
0368 2422 CLR R2
0369 9030007A LDS R3,key_delay
036B 1423 CP R2,R3
036C F410 BCC 0x036F
036D 940E0477 CALL 0x477
036F 940E045D CALL 0x45D
0371 F411 BNE 0x0374
0372 2033 TST R3
0373 F049 BEQ 0x037D
0374 9180007B LDS R24,delay_time_count
0376 9190007C LDS R25,delay_time_count+1
0378 9701 SBIW R24,1
0379 9390007C STS delay_time_count+1,R25
037B 9380007B STS delay_time_count,R24
037D 2422 CLR R2
037E 2433 CLR R3
037F 9040008D LDS R4,ModelDelayTime
0381 9050008E LDS R5,ModelDelayTime+1
0383 1424 CP R2,R4
0384 0435 CPC R3,R5
0385 F434 BGE 0x038C
0386 01C2 MOVW R24,R4
0387 9701 SBIW R24,1
0388 9390008E STS ModelDelayTime+1,R25
038A 9380008D STS ModelDelayTime,R24
038C DD12 RCALL _Disp_key_group
038D DD51 RCALL _Key_num
038E DE8C RCALL _Disp_Model
038F DF08 RCALL _KEY_event
0390 DF2C RCALL _Display_event
0391 D056 RCALL pop_lset
0392 9518 RETI
_usart_rcx:
uart_data --> R20
0393 D03D RCALL push_lset
0394 D025 RCALL push_gset1
0395 B14C IN R20,0x0C
0396 2F84 MOV R24,R20
0397 708F ANDI R24,0xF
0398 93800064 STS 0x64,R24
039A 2F04 MOV R16,R20
039B DE10 RCALL _data_store
039C EA0A LDI R16,0xAA
039D DDCD RCALL _uart_TX
039E 2422 CLR R2
039F 2433 CLR R3
03A0 92300091 STS time_out_ms+1,R3
03A2 92200090 STS time_out_ms,R2
03A4 92200092 STS time_out_s,R2
03A6 D016 RCALL pop_gset1
03A7 D040 RCALL pop_lset
03A8 9518 RETI
asr16:
03A9 2322 TST R18
03AA F021 BEQ 0x03AF
03AB 9515 ASR R17
03AC 9507 ROR R16
03AD 952A DEC R18
03AE CFFA RJMP asr16
03AF 9508 RET
pop_gset2:
03B0 E0E2 LDI R30,2
03B1 C00C RJMP pop
push_gset5:
03B2 92FA ST R15,-Y
03B3 92EA ST R14,-Y
push_gset4:
03B4 92DA ST R13,-Y
03B5 92CA ST R12,-Y
push_gset3:
03B6 92BA ST R11,-Y
03B7 92AA ST R10,-Y
push_gset2:
03B8 937A ST R23,-Y
03B9 936A ST R22,-Y
push_gset1:
03BA 935A ST R21,-Y
03BB 934A ST R20,-Y
03BC 9508 RET
pop_gset1:
03BD E0E1 LDI R30,1
pop:
03BE 9149 LD R20,Y+
03BF 9159 LD R21,Y+
03C0 FDE0 SBRC R30,0
03C1 9508 RET
03C2 9169 LD R22,Y+
03C3 9179 LD R23,Y+
03C4 FDE1 SBRC R30,1
03C5 9508 RET
03C6 90A9 LD R10,Y+
03C7 90B9 LD R11,Y+
03C8 FDE2 SBRC R30,2
03C9 9508 RET
03CA 90C9 LD R12,Y+
03CB 90D9 LD R13,Y+
03CC FDE3 SBRC R30,3
03CD 9508 RET
03CE 90E9 LD R14,Y+
03CF 90F9 LD R15,Y+
03D0 9508 RET
push_lset:
03D1 93FA ST R31,-Y
03D2 93EA ST R30,-Y
03D3 93BA ST R27,-Y
03D4 93AA ST R26,-Y
03D5 939A ST R25,-Y
03D6 938A ST R24,-Y
03D7 933A ST R19,-Y
03D8 932A ST R18,-Y
03D9 931A ST R17,-Y
03DA 930A ST R16,-Y
03DB 929A ST R9,-Y
03DC 928A ST R8,-Y
03DD 927A ST R7,-Y
03DE 926A ST R6,-Y
03DF 925A ST R5,-Y
03E0 924A ST R4,-Y
03E1 923A ST R3,-Y
03E2 922A ST R2,-Y
03E3 921A ST R1,-Y
03E4 920A ST R0,-Y
03E5 B60F IN R0,0x3F
03E6 920A ST R0,-Y
03E7 9508 RET
pop_lset:
03E8 9009 LD R0,Y+
03E9 BE0F OUT 0x3F,R0
03EA 9009 LD R0,Y+
03EB 9019 LD R1,Y+
03EC 9029 LD R2,Y+
03ED 9039 LD R3,Y+
03EE 9049 LD R4,Y+
03EF 9059 LD R5,Y+
03F0 9069 LD R6,Y+
03F1 9079 LD R7,Y+
03F2 9089 LD R8,Y+
03F3 9099 LD R9,Y+
03F4 9109 LD R16,Y+
03F5 9119 LD R17,Y+
03F6 9129 LD R18,Y+
03F7 9139 LD R19,Y+
03F8 9189 LD R24,Y+
03F9 9199 LD R25,Y+
03FA 91A9 LD R26,Y+
03FB 91B9 LD R27,Y+
03FC 91E9 LD R30,Y+
03FD 91F9 LD R31,Y+
03FE 9508 RET
lsl16:
03FF 2322 TST R18
0400 F021 BEQ 0x0405
0401 0F00 LSL R16
0402 1F11 ROL R17
0403 952A DEC R18
0404 CFFA RJMP lsl16
0405 9508 RET
lsl8:
0406 2311 TST R17
0407 F019 BEQ 0x040B
0408 0F00 LSL R16
0409 951A DEC R17
040A CFFB RJMP lsl8
040B 9508 RET
<created procedures>:
040C B382 IN R24,0x12
040D 6E80 ORI R24,0xE0
040E BB82 OUT 0x12,R24
040F EF8F LDI R24,0xFF
0410 BB8A OUT 0x1A,R24
0411 01C8 MOVW R24,R16
0412 7090 ANDI R25,0
0413 BB8B OUT 0x1B,R24
0414 01C8 MOVW R24,R16
0415 2F89 MOV R24,R25
0416 2799 CLR R25
0417 FD87 SBRC R24,7
0418 9590 COM R25
0419 7090 ANDI R25,0
041A BB85 OUT 0x15,R24
041B B382 IN R24,0x12
041C 778F ANDI R24,0x7F
041D BB82 OUT 0x12,R24
041E 9508 RET
041F E090 LDI R25,0
0420 91E00068 LDS R30,disp_key_count
0422 27FF CLR R31
0423 0FE8 ADD R30,R24
0424 1FF9 ADC R31,R25
0425 9508 RET
0426 9180007F LDS R24,PDataY
0428 91900080 LDS R25,PDataY+1
042A 9601 ADIW R24,1
042B 93900080 STS PDataY+1,R25
042D 9380007F STS PDataY,R24
042F 9508 RET
0430 93900082 STS PDataYMax+1,R25
0432 93800081 STS PDataYMax,R24
0434 91800083 LDS R24,PDataYMin
0436 91900084 LDS R25,PDataYMin+1
0438 9508 RET
0439 93900091 STS time_out_ms+1,R25
043B 93800090 STS time_out_ms,R24
043D 9508 RET
043E 91800090 LDS R24,time_out_ms
0440 91900091 LDS R25,time_out_ms+1
0442 9508 RET
0443 91800088 LDS R24,DataIndex
0445 91900089 LDS R25,DataIndex+1
0447 9508 RET
0448 9595 ASR R25
0449 9587 ROR R24
044A 9595 ASR R25
044B 9587 ROR R24
044C 9508 RET
044D 90200081 LDS R2,PDataYMax
044F 90300082 LDS R3,PDataYMax+1
0451 9508 RET
0452 93900084 STS PDataYMin+1,R25
0454 93800083 STS PDataYMin,R24
0456 9508 RET
0457 E090 LDI R25,0
0458 2FE4 MOV R30,R20
0459 27FF CLR R31
045A 0FE8 ADD R30,R24
045B 1FF9 ADC R31,R25
045C 9508 RET
045D 9020007B LDS R2,delay_time_count
045F 9030007C LDS R3,delay_time_count+1
0461 2022 TST R2
0462 9508 RET
0463 93800087 STS HeadEN,R24
0465 93800085 STS FileEnd,R24
0467 9508 RET
0468 9020008A LDS R2,FileLength
046A 9030008B LDS R3,FileLength+1
046C 9508 RET
046D ED84 LDI R24,0xD4
046E BD8D OUT 0x2D,R24
046F EC8E LDI R24,0xCE
0470 BD8C OUT 0x2C,R24
0471 9508 RET
0472 91800081 LDS R24,PDataYMax
0474 91900082 LDS R25,PDataYMax+1
0476 9508 RET
0477 2D83 MOV R24,R3
0478 5081 SUBI R24,1
0479 9380007A STS key_delay,R24
047B 9508 RET
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?