📄 hc595.lst
字号:
02A8 93000105 STS Seg7_Led_Buf+3,R16
(0169) Seg7_Led_Buf[2]=(temp%1000)/100;
02AA EE28 LDI R18,0xE8
02AB E033 LDI R19,3
02AC 018A MOVW R16,R20
02AD 940E03D8 CALL mod16u
02AF E624 LDI R18,0x64
02B0 E030 LDI R19,0
02B1 940E03DA CALL div16u
02B3 93000104 STS Seg7_Led_Buf+2,R16
(0170) Seg7_Led_Buf[1]=(temp%100)/10;
02B5 E624 LDI R18,0x64
02B6 E030 LDI R19,0
02B7 018A MOVW R16,R20
02B8 940E03D8 CALL mod16u
02BA E02A LDI R18,0xA
02BB E030 LDI R19,0
02BC 940E03DA CALL div16u
02BE 93000103 STS Seg7_Led_Buf+1,R16
(0171) Seg7_Led_Buf[0]=temp%10;
02C0 E02A LDI R18,0xA
02C1 E030 LDI R19,0
02C2 018A MOVW R16,R20
02C3 940E03D8 CALL mod16u
02C5 93000102 STS Seg7_Led_Buf,R16
(0172) Seg7_Led_Update();
02C7 DE30 RCALL _Seg7_Led_Update
(0173) }
02C8 C102 RJMP 0x03CB
(0174) else if(data>9)
02C9 EA05 LDI R16,0xA5
02CA E010 LDI R17,0
02CB 940E041F CALL lpm32
02CD 933A ST R19,-Y
02CE 932A ST R18,-Y
02CF 931A ST R17,-Y
02D0 930A ST R16,-Y
02D1 01FE MOVW R30,R28
02D2 8424 LDD R2,Z+12
02D3 8435 LDD R3,Z+13
02D4 8446 LDD R4,Z+14
02D5 8457 LDD R5,Z+15
02D6 925A ST R5,-Y
02D7 924A ST R4,-Y
02D8 923A ST R3,-Y
02D9 922A ST R2,-Y
02DA 940E0506 CALL cmp32f
02DC F00C BLT 0x02DE
02DD C077 RJMP 0x0355
(0175) {
(0176) temp=data*100;
02DE EA01 LDI R16,0xA1
02DF E010 LDI R17,0
02E0 940E041F CALL lpm32
02E2 933A ST R19,-Y
02E3 932A ST R18,-Y
02E4 931A ST R17,-Y
02E5 930A ST R16,-Y
02E6 01FE MOVW R30,R28
02E7 8424 LDD R2,Z+12
02E8 8435 LDD R3,Z+13
02E9 8446 LDD R4,Z+14
02EA 8457 LDD R5,Z+15
02EB 925A ST R5,-Y
02EC 924A ST R4,-Y
02ED 923A ST R3,-Y
02EE 922A ST R2,-Y
02EF 940E053A CALL empy32f
02F1 01FE MOVW R30,R28
02F2 8300 STD Z+0,R16
02F3 8311 STD Z+1,R17
02F4 8322 STD Z+2,R18
02F5 8333 STD Z+3,R19
02F6 01FE MOVW R30,R28
02F7 8020 LDD R2,Z+0
02F8 8031 LDD R3,Z+1
02F9 8042 LDD R4,Z+2
02FA 8053 LDD R5,Z+3
02FB 925A ST R5,-Y
02FC 924A ST R4,-Y
02FD 923A ST R3,-Y
02FE 922A ST R2,-Y
02FF EA09 LDI R16,0xA9
0300 E010 LDI R17,0
0301 940E041F CALL lpm32
0303 933A ST R19,-Y
0304 932A ST R18,-Y
0305 931A ST R17,-Y
0306 930A ST R16,-Y
0307 940E0506 CALL cmp32f
0309 F0CC BLT 0x0323
030A 01FE MOVW R30,R28
030B 8020 LDD R2,Z+0
030C 8031 LDD R3,Z+1
030D 8042 LDD R4,Z+2
030E 8053 LDD R5,Z+3
030F 925A ST R5,-Y
0310 924A ST R4,-Y
0311 923A ST R3,-Y
0312 922A ST R2,-Y
0313 EA09 LDI R16,0xA9
0314 E010 LDI R17,0
0315 940E041F CALL lpm32
0317 933A ST R19,-Y
0318 932A ST R18,-Y
0319 931A ST R17,-Y
031A 930A ST R16,-Y
031B 940E04B0 CALL sub32f
031D 940E0433 CALL fp2int
031F 01B8 MOVW R22,R16
0320 5060 SUBI R22,0
0321 4870 SBCI R23,0x80
0322 C008 RJMP 0x032B
0323 01FE MOVW R30,R28
0324 8100 LDD R16,Z+0
0325 8111 LDD R17,Z+1
0326 8122 LDD R18,Z+2
0327 8133 LDD R19,Z+3
0328 940E0433 CALL fp2int
032A 01B8 MOVW R22,R16
032B 01AB MOVW R20,R22
(0177) point_pos=2;
032C E082 LDI R24,2
032D 93800101 STS point_pos,R24
(0178) Seg7_Led_Buf[3]=temp/1000;
032F EE28 LDI R18,0xE8
0330 E033 LDI R19,3
0331 018A MOVW R16,R20
0332 940E03DA CALL div16u
0334 93000105 STS Seg7_Led_Buf+3,R16
(0179) Seg7_Led_Buf[2]=(temp%1000)/100;
0336 EE28 LDI R18,0xE8
0337 E033 LDI R19,3
0338 018A MOVW R16,R20
0339 940E03D8 CALL mod16u
033B E624 LDI R18,0x64
033C E030 LDI R19,0
033D 940E03DA CALL div16u
033F 93000104 STS Seg7_Led_Buf+2,R16
(0180) Seg7_Led_Buf[1]=(temp%100)/10;
0341 E624 LDI R18,0x64
0342 E030 LDI R19,0
0343 018A MOVW R16,R20
0344 940E03D8 CALL mod16u
0346 E02A LDI R18,0xA
0347 E030 LDI R19,0
0348 940E03DA CALL div16u
034A 93000103 STS Seg7_Led_Buf+1,R16
(0181) Seg7_Led_Buf[0]=temp%10;
034C E02A LDI R18,0xA
034D E030 LDI R19,0
034E 018A MOVW R16,R20
034F 940E03D8 CALL mod16u
0351 93000102 STS Seg7_Led_Buf,R16
(0182) Seg7_Led_Update();
0353 DDA4 RCALL _Seg7_Led_Update
(0183) }
0354 C076 RJMP 0x03CB
(0184) else
(0185) {
(0186) temp=data*1000;
0355 E90D LDI R16,0x9D
0356 E010 LDI R17,0
0357 940E041F CALL lpm32
0359 933A ST R19,-Y
035A 932A ST R18,-Y
035B 931A ST R17,-Y
035C 930A ST R16,-Y
035D 01FE MOVW R30,R28
035E 8424 LDD R2,Z+12
035F 8435 LDD R3,Z+13
0360 8446 LDD R4,Z+14
0361 8457 LDD R5,Z+15
0362 925A ST R5,-Y
0363 924A ST R4,-Y
0364 923A ST R3,-Y
0365 922A ST R2,-Y
0366 940E053A CALL empy32f
0368 01FE MOVW R30,R28
0369 8300 STD Z+0,R16
036A 8311 STD Z+1,R17
036B 8322 STD Z+2,R18
036C 8333 STD Z+3,R19
036D 01FE MOVW R30,R28
036E 8020 LDD R2,Z+0
036F 8031 LDD R3,Z+1
0370 8042 LDD R4,Z+2
0371 8053 LDD R5,Z+3
0372 925A ST R5,-Y
0373 924A ST R4,-Y
0374 923A ST R3,-Y
0375 922A ST R2,-Y
0376 EA09 LDI R16,0xA9
0377 E010 LDI R17,0
0378 940E041F CALL lpm32
037A 933A ST R19,-Y
037B 932A ST R18,-Y
037C 931A ST R17,-Y
037D 930A ST R16,-Y
037E 940E0506 CALL cmp32f
0380 F0CC BLT 0x039A
0381 01FE MOVW R30,R28
0382 8020 LDD R2,Z+0
0383 8031 LDD R3,Z+1
0384 8042 LDD R4,Z+2
0385 8053 LDD R5,Z+3
0386 925A ST R5,-Y
0387 924A ST R4,-Y
0388 923A ST R3,-Y
0389 922A ST R2,-Y
038A EA09 LDI R16,0xA9
038B E010 LDI R17,0
038C 940E041F CALL lpm32
038E 933A ST R19,-Y
038F 932A ST R18,-Y
0390 931A ST R17,-Y
0391 930A ST R16,-Y
0392 940E04B0 CALL sub32f
0394 940E0433 CALL fp2int
0396 01B8 MOVW R22,R16
0397 5060 SUBI R22,0
0398 4870 SBCI R23,0x80
0399 C008 RJMP 0x03A2
039A 01FE MOVW R30,R28
039B 8100 LDD R16,Z+0
039C 8111 LDD R17,Z+1
039D 8122 LDD R18,Z+2
039E 8133 LDD R19,Z+3
039F 940E0433 CALL fp2int
03A1 01B8 MOVW R22,R16
03A2 01AB MOVW R20,R22
(0187) point_pos=3;
03A3 E083 LDI R24,3
03A4 93800101 STS point_pos,R24
(0188) Seg7_Led_Buf[3]=temp/1000;
03A6 EE28 LDI R18,0xE8
03A7 E033 LDI R19,3
03A8 018A MOVW R16,R20
03A9 940E03DA CALL div16u
03AB 93000105 STS Seg7_Led_Buf+3,R16
(0189) Seg7_Led_Buf[2]=(temp%1000)/100;
03AD EE28 LDI R18,0xE8
03AE E033 LDI R19,3
03AF 018A MOVW R16,R20
03B0 940E03D8 CALL mod16u
03B2 E624 LDI R18,0x64
03B3 E030 LDI R19,0
03B4 940E03DA CALL div16u
03B6 93000104 STS Seg7_Led_Buf+2,R16
(0190) Seg7_Led_Buf[1]=(temp%100)/10;
03B8 E624 LDI R18,0x64
03B9 E030 LDI R19,0
03BA 018A MOVW R16,R20
03BB 940E03D8 CALL mod16u
03BD E02A LDI R18,0xA
03BE E030 LDI R19,0
03BF 940E03DA CALL div16u
03C1 93000103 STS Seg7_Led_Buf+1,R16
(0191) Seg7_Led_Buf[0]=temp%10;
03C3 E02A LDI R18,0xA
03C4 E030 LDI R19,0
03C5 018A MOVW R16,R20
03C6 940E03D8 CALL mod16u
03C8 93000102 STS Seg7_Led_Buf,R16
(0192) Seg7_Led_Update();
03CA DD2D RCALL _Seg7_Led_Update
(0193) }
(0194) point=0;
FILE: <library>
03CB 2422 CLR R2
03CC 92200100 STS point,R2
03CE 9624 ADIW R28,4
03CF 940E03F4 CALL pop_gset2
03D1 9624 ADIW R28,4
03D2 9508 RET
push_arg4:
03D3 933A ST R19,-Y
03D4 932A ST R18,-Y
push_arg2:
03D5 931A ST R17,-Y
03D6 930A ST R16,-Y
03D7 9508 RET
mod16u:
03D8 9468 BSET 6
03D9 C001 RJMP xdiv16u
div16u:
03DA 94E8 BCLR 6
xdiv16u:
03DB 92EA ST R14,-Y
03DC 92FA ST R15,-Y
03DD 938A ST R24,-Y
03DE 24EE CLR R14
03DF 24FF CLR R15
03E0 E180 LDI R24,0x10
03E1 0F00 LSL R16
03E2 1F11 ROL R17
03E3 1CEE ROL R14
03E4 1CFF ROL R15
03E5 16E2 CP R14,R18
03E6 06F3 CPC R15,R19
03E7 F018 BCS 0x03EB
03E8 1AE2 SUB R14,R18
03E9 0AF3 SBC R15,R19
03EA 9503 INC R16
03EB 958A DEC R24
03EC F7A1 BNE 0x03E1
03ED F416 BRTC 0x03F0
03EE 2D0E MOV R16,R14
03EF 2D1F MOV R17,R15
03F0 9189 LD R24,Y+
03F1 90F9 LD R15,Y+
03F2 90E9 LD R14,Y+
03F3 9508 RET
pop_gset2:
03F4 E0E2 LDI R30,2
03F5 940C0403 JMP pop
push_gset5:
03F7 92FA ST R15,-Y
03F8 92EA ST R14,-Y
push_gset4:
03F9 92DA ST R13,-Y
03FA 92CA ST R12,-Y
push_gset3:
03FB 92BA ST R11,-Y
03FC 92AA ST R10,-Y
push_gset2:
03FD 937A ST R23,-Y
03FE 936A ST R22,-Y
push_gset1:
03FF 935A ST R21,-Y
0400 934A ST R20,-Y
0401 9508 RET
pop_gset1:
0402 E0E1 LDI R30,1
pop:
0403 9149 LD R20,Y+
0404 9159 LD R21,Y+
0405 FDE0 SBRC R30,0
0406 9508 RET
0407 9169 LD R22,Y+
0408 9179 LD R23,Y+
0409 FDE1 SBRC R30,1
040A 9508 RET
040B 90A9 LD R10,Y+
040C 90B9 LD R11,Y+
040D FDE2 SBRC R30,2
040E 9508 RET
040F 90C9 LD R12,Y+
0410 90D9 LD R13,Y+
0411 FDE3 SBRC R30,3
0412 9508 RET
0413 90E9 LD R14,Y+
0414 90F9 LD R15,Y+
0415 9508 RET
neg32:
0416 9500 COM R16
0417 9510 COM R17
0418 9520 COM R18
0419 9530 COM R19
041A 5F0F SUBI R16,0xFF
041B 4F1F SBCI R17,0xFF
041C 4F2F SBCI R18,0xFF
041D 4F3F SBCI R19,0xFF
041E 9508 RET
lpm32:
041F 93EA ST R30,-Y
0420 93FA ST R31,-Y
0421 920A ST R0,-Y
0422 2FE0 MOV R30,R16
0423 2FF1 MOV R31,R17
0424 95C8 LPM
0425 2D00 MOV R16,R0
0426 9631 ADIW R30,1
0427 95C8 LPM
0428 2D10 MOV R17,R0
0429 9631 ADIW R30,1
042A 95C8 LPM
042B 2D20 MOV R18,R0
042C 9631 ADIW R30,1
042D 95C8 LPM
042E 2D30 MOV R19,R0
042F 9009 LD R0,Y+
0430 91F9 LD R31,Y+
0431 91E9 LD R30,Y+
0432 9508 RET
fp2int:
0433 940E0584 CALL savfacc1
0435 D014 RCALL FTOI
0436 2F02 MOV R16,R18
0437 2F13 MOV R17,R19
0438 FD87 SBRC R24,7
0439 C002 RJMP nojump1
043A 940C0587 JMP restorefacc1
nojump1:
043C 9510 COM R17
043D 9501 NEG R16
043E 4F1F SBCI R17,0xFF
043F 940C0587 JMP restorefacc1
fp2long:
0441 940E0584 CALL savfacc1
0443 D008 RCALL FTOL
0444 FF87 SBRS R24,7
0445 C002 RJMP nojump2
0446 940E0416 CALL neg32
nojump2:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -