📄 minid.lst
字号:
(0101) else
(0102) {
(0103) if (result > 1000)
0419 EE48 LDI R20,0xE8
041A E053 LDI R21,3
041B E060 LDI R22,0
041C E070 LDI R23,0
041D 01FE MOVW R30,R28
041E 8020 LDD R2,Z+0
041F 8031 LDD R3,Z+1
0420 8042 LDD R4,Z+2
0421 8053 LDD R5,Z+3
0422 1542 CP R20,R2
0423 0553 CPC R21,R3
0424 0564 CPC R22,R4
0425 0575 CPC R23,R5
0426 F44C BGE 0x0430
(0104) result = 1000;
0427 EE48 LDI R20,0xE8
0428 E053 LDI R21,3
0429 E060 LDI R22,0
042A E070 LDI R23,0
042B 01FE MOVW R30,R28
042C 8340 STD Z+0,R20
042D 8351 STD Z+1,R21
042E 8362 STD Z+2,R22
042F 8373 STD Z+3,R23
(0105)
(0106) result *= 0xff;
0430 01FE MOVW R30,R28
0431 8020 LDD R2,Z+0
0432 8031 LDD R3,Z+1
0433 8042 LDD R4,Z+2
0434 8053 LDD R5,Z+3
0435 EF4F LDI R20,0xFF
0436 E050 LDI R21,0
0437 E060 LDI R22,0
0438 E070 LDI R23,0
0439 925A ST R5,-Y
043A 924A ST R4,-Y
043B 923A ST R3,-Y
043C 922A ST R2,-Y
043D 018A MOVW R16,R20
043E 019B MOVW R18,R22
043F D0EB RCALL empy32u
0440 01FE MOVW R30,R28
0441 8300 STD Z+0,R16
0442 8311 STD Z+1,R17
0443 8322 STD Z+2,R18
0444 8333 STD Z+3,R19
(0107) result /=1000;
0445 EE48 LDI R20,0xE8
0446 E053 LDI R21,3
0447 E060 LDI R22,0
0448 E070 LDI R23,0
0449 01FE MOVW R30,R28
044A 8020 LDD R2,Z+0
044B 8031 LDD R3,Z+1
044C 8042 LDD R4,Z+2
044D 8053 LDD R5,Z+3
044E 937A ST R23,-Y
044F 936A ST R22,-Y
0450 935A ST R21,-Y
0451 934A ST R20,-Y
0452 0181 MOVW R16,R2
0453 0192 MOVW R18,R4
0454 D05B RCALL div32s
0455 01FE MOVW R30,R28
0456 8300 STD Z+0,R16
0457 8311 STD Z+1,R17
0458 8322 STD Z+2,R18
0459 8333 STD Z+3,R19
(0108) }
(0109)
(0110) i = result;
045A 01FE MOVW R30,R28
045B 80A0 LDD R10,Z+0
(0111) return i;
FILE: <library>
045C 2D0A MOV R16,R10
045D 9624 ADIW R28,4
045E D0FC RCALL pop_gset5
045F 9624 ADIW R28,4
0460 9508 RET
_memset:
0461 8188 LDD R24,Y+0
0462 8199 LDD R25,Y+1
0463 3080 CPI R24,0
0464 0789 CPC R24,R25
0465 F029 BEQ 0x046B
0466 2FE0 MOV R30,R16
0467 2FF1 MOV R31,R17
0468 9321 ST R18,Z+
0469 9701 SBIW R24,1
046A F7E9 BNE 0x0468
046B 9508 RET
push_arg4:
046C 933A ST R19,-Y
046D 932A ST R18,-Y
push_arg2:
046E 931A ST R17,-Y
046F 930A ST R16,-Y
0470 9508 RET
mod16s:
0471 9468 BSET 6
0472 92DA ST R13,-Y
0473 2ED1 MOV R13,R17
0474 C004 RJMP 0x0479
div16s:
0475 94E8 BCLR 6
0476 92DA ST R13,-Y
0477 2ED1 MOV R13,R17
0478 26D3 EOR R13,R19
0479 FF17 SBRS R17,7
047A C004 RJMP 0x047F
047B 9510 COM R17
047C 9500 COM R16
047D 5F0F SUBI R16,0xFF
047E 4F1F SBCI R17,0xFF
047F FF37 SBRS R19,7
0480 C004 RJMP 0x0485
0481 9530 COM R19
0482 9520 COM R18
0483 5F2F SUBI R18,0xFF
0484 4F3F SBCI R19,0xFF
0485 D00B RCALL xdiv16u
0486 FED7 SBRS R13,7
0487 C004 RJMP 0x048C
0488 9510 COM R17
0489 9500 COM R16
048A 5F0F SUBI R16,0xFF
048B 4F1F SBCI R17,0xFF
048C 90D9 LD R13,Y+
048D 9508 RET
mod16u:
048E 9468 BSET 6
048F C001 RJMP xdiv16u
div16u:
0490 94E8 BCLR 6
xdiv16u:
0491 92EA ST R14,-Y
0492 92FA ST R15,-Y
0493 938A ST R24,-Y
0494 24EE CLR R14
0495 24FF CLR R15
0496 E180 LDI R24,0x10
0497 0F00 LSL R16
0498 1F11 ROL R17
0499 1CEE ROL R14
049A 1CFF ROL R15
049B 16E2 CP R14,R18
049C 06F3 CPC R15,R19
049D F018 BCS 0x04A1
049E 1AE2 SUB R14,R18
049F 0AF3 SBC R15,R19
04A0 9503 INC R16
04A1 958A DEC R24
04A2 F7A1 BNE 0x0497
04A3 F416 BRTC 0x04A6
04A4 2D0E MOV R16,R14
04A5 2D1F MOV R17,R15
04A6 9189 LD R24,Y+
04A7 90F9 LD R15,Y+
04A8 90E9 LD R14,Y+
04A9 9508 RET
div32u:
04AA 94E8 BCLR 6
04AB C001 RJMP 0x04AD
mod32u:
04AC 9468 BSET 6
04AD D02F RCALL long_div_prolog
04AE 24CC CLR R12
04AF C008 RJMP 0x04B8
div32s:
04B0 94E8 BCLR 6
04B1 C001 RJMP 0x04B3
mod32s:
04B2 9468 BSET 6
04B3 D029 RCALL long_div_prolog
04B4 FD37 SBRC R19,7
04B5 D053 RCALL neg_R16_R19
04B6 FDB7 SBRC R27,7
04B7 D05A RCALL neg_R24_R27
04B8 2477 CLR R7
04B9 2488 CLR R8
04BA 2499 CLR R9
04BB 24AA CLR R10
04BC 24BB CLR R11
04BD D041 RCALL tst_R16_R19
04BE F0C1 BEQ 0x04D7
04BF D044 RCALL tst_R24_R27
04C0 F0B1 BEQ 0x04D7
04C1 E2E8 LDI R30,0x28
04C2 0F00 LSL R16
04C3 1F11 ROL R17
04C4 1F22 ROL R18
04C5 1F33 ROL R19
04C6 1C77 ROL R7
04C7 1C88 ROL R8
04C8 1C99 ROL R9
04C9 1CAA ROL R10
04CA 1CBB ROL R11
04CB 1688 CP R8,R24
04CC 0699 CPC R9,R25
04CD 06AA CPC R10,R26
04CE 06BB CPC R11,R27
04CF F028 BCS 0x04D5
04D0 1A88 SUB R8,R24
04D1 0A99 SBC R9,R25
04D2 0AAA SBC R10,R26
04D3 0ABB SBC R11,R27
04D4 9503 INC R16
04D5 95EA DEC R30
04D6 F759 BNE 0x04C2
04D7 F426 BRTC 0x04DC
04D8 2D08 MOV R16,R8
04D9 2D19 MOV R17,R9
04DA 2D2A MOV R18,R10
04DB 2D3B MOV R19,R11
04DC C013 RJMP long_div_epilog
long_div_prolog:
04DD 927A ST R7,-Y
04DE 928A ST R8,-Y
04DF 929A ST R9,-Y
04E0 92AA ST R10,-Y
04E1 92BA ST R11,-Y
04E2 92CA ST R12,-Y
04E3 93EA ST R30,-Y
04E4 938A ST R24,-Y
04E5 939A ST R25,-Y
04E6 93AA ST R26,-Y
04E7 93BA ST R27,-Y
04E8 858B LDD R24,Y+11
04E9 859C LDD R25,Y+12
04EA 85AD LDD R26,Y+13
04EB 85BE LDD R27,Y+14
04EC 2EC3 MOV R12,R19
04ED F00E BRTS 0x04EF
04EE 26CB EOR R12,R27
04EF 9508 RET
long_div_epilog:
04F0 FCC7 SBRC R12,7
04F1 D017 RCALL neg_R16_R19
04F2 91B9 LD R27,Y+
04F3 91A9 LD R26,Y+
04F4 9199 LD R25,Y+
04F5 9189 LD R24,Y+
04F6 91E9 LD R30,Y+
04F7 90C9 LD R12,Y+
04F8 90B9 LD R11,Y+
04F9 90A9 LD R10,Y+
04FA 9099 LD R9,Y+
04FB 9089 LD R8,Y+
04FC 9079 LD R7,Y+
04FD 9624 ADIW R28,4
04FE 9508 RET
tst_R16_R19:
04FF 2FE0 MOV R30,R16
0500 2BE1 OR R30,R17
0501 2BE2 OR R30,R18
0502 2BE3 OR R30,R19
0503 9508 RET
tst_R24_R27:
0504 2FE8 MOV R30,R24
0505 2BE9 OR R30,R25
0506 2BEA OR R30,R26
0507 2BEB OR R30,R27
0508 9508 RET
neg_R16_R19:
0509 9500 COM R16
050A 9510 COM R17
050B 9520 COM R18
050C 9530 COM R19
050D 5F0F SUBI R16,0xFF
050E 4F1F SBCI R17,0xFF
050F 4F2F SBCI R18,0xFF
0510 4F3F SBCI R19,0xFF
0511 9508 RET
neg_R24_R27:
0512 9580 COM R24
0513 9590 COM R25
0514 95A0 COM R26
0515 95B0 COM R27
0516 5F8F SUBI R24,0xFF
0517 4F9F SBCI R25,0xFF
0518 4FAF SBCI R26,0xFF
0519 4FBF SBCI R27,0xFF
051A 9508 RET
empy16s:
051B 920A ST R0,-Y
051C 921A ST R1,-Y
051D 938A ST R24,-Y
051E 939A ST R25,-Y
051F 9F02 MUL R16,R18
0520 01C0 MOVW R24,R0
0521 9F12 MUL R17,R18
0522 0D90 ADD R25,R0
0523 9F03 MUL R16,R19
0524 0D90 ADD R25,R0
0525 018C MOVW R16,R24
0526 9199 LD R25,Y+
0527 9189 LD R24,Y+
0528 9019 LD R1,Y+
0529 9009 LD R0,Y+
052A 9508 RET
empy32u:
empy32s:
052B D050 RCALL long_prolog
052C 927F PUSH R7
052D D067 RCALL tstzero1
052E F131 BEQ 0x0555
052F 2477 CLR R7
0530 D06A RCALL tstzero2
0531 F419 BNE 0x0535
0532 018C MOVW R16,R24
0533 019D MOVW R18,R26
0534 C020 RJMP 0x0555
0535 9F08 MUL R16,R24
0536 2CB0 MOV R11,R0
0537 2CA1 MOV R10,R1
0538 9F28 MUL R18,R24
0539 2C90 MOV R9,R0
053A 2C81 MOV R8,R1
053B 9F18 MUL R17,R24
053C 0CA0 ADD R10,R0
053D 1C91 ADC R9,R1
053E 1C87 ADC R8,R7
053F 9F09 MUL R16,R25
0540 0CA0 ADD R10,R0
0541 1C91 ADC R9,R1
0542 1C87 ADC R8,R7
0543 9F19 MUL R17,R25
0544 0C90 ADD R9,R0
0545 1C81 ADC R8,R1
0546 9F0A MUL R16,R26
0547 0C90 ADD R9,R0
0548 1C81 ADC R8,R1
0549 9F38 MUL R19,R24
054A 0C80 ADD R8,R0
054B 9F29 MUL R18,R25
054C 0C80 ADD R8,R0
054D 9F1A MUL R17,R26
054E 0C80 ADD R8,R0
054F 9F0B MUL R16,R27
0550 0C80 ADD R8,R0
0551 2D0B MOV R16,R11
0552 2D1A MOV R17,R10
0553 2D29 MOV R18,R9
0554 2D38 MOV R19,R8
0555 907F POP R7
0556 C033 RJMP long_epilog
pop_gset2:
0557 E0E2 LDI R30,2
0558 C010 RJMP pop
pop_gset4:
0559 E0E8 LDI R30,0x8
055A C00E RJMP pop
pop_gset5:
055B 27EE CLR R30
055C C00C RJMP pop
push_gset5:
055D 92FA ST R15,-Y
055E 92EA ST R14,-Y
push_gset4:
055F 92DA ST R13,-Y
0560 92CA ST R12,-Y
push_gset3:
0561 92BA ST R11,-Y
0562 92AA ST R10,-Y
push_gset2:
0563 937A ST R23,-Y
0564 936A ST R22,-Y
push_gset1:
0565 935A ST R21,-Y
0566 934A ST R20,-Y
0567 9508 RET
pop_gset1:
0568 E0E1 LDI R30,1
pop:
0569 9149 LD R20,Y+
056A 9159 LD R21,Y+
056B FDE0 SBRC R30,0
056C 9508 RET
056D 9169 LD R22,Y+
056E 9179 LD R23,Y+
056F FDE1 SBRC R30,1
0570 9508 RET
0571 90A9 LD R10,Y+
0572 90B9 LD R11,Y+
0573 FDE2 SBRC R30,2
0574 9508 RET
0575 90C9 LD R12,Y+
0576 90D9 LD R13,Y+
0577 FDE3 SBRC R30,3
0578 9508 RET
0579 90E9 LD R14,Y+
057A 90F9 LD R15,Y+
057B 9508 RET
long_prolog:
057C 928A ST R8,-Y
057D 929A ST R9,-Y
057E 92AA ST R10,-Y
057F 92BA ST R11,-Y
0580 93EA ST R30,-Y
0581 938A ST R24,-Y
0582 939A ST R25,-Y
0583 93AA ST R26,-Y
0584 93BA ST R27,-Y
0585 8589 LDD R24,Y+9
0586 859A LDD R25,Y+10
0587 85AB LDD R26,Y+11
0588 85BC LDD R27,Y+12
0589 9508 RET
long_epilog:
058A 91B9 LD R27,Y+
058B 91A9 LD R26,Y+
058C 9199 LD R25,Y+
058D 9189 LD R24,Y+
058E 91E9 LD R30,Y+
058F 90B9 LD R11,Y+
0590 90A9 LD R10,Y+
0591 9099 LD R9,Y+
0592 9089 LD R8,Y+
0593 9624 ADIW R28,4
0594 9508 RET
tstzero1:
0595 27EE CLR R30
0596 2BE0 OR R30,R16
0597 2BE1 OR R30,R17
0598 2BE2 OR R30,R18
0599 2BE3 OR R30,R19
059A 9508 RET
tstzero2:
059B 27EE CLR R30
059C 2BE8 OR R30,R24
059D 2BE9 OR R30,R25
059E 2BEA OR R30,R26
059F 2BEB OR R30,R27
05A0 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -