📄 text1.lst
字号:
00375 9069 LD R6,Y+
00376 9059 LD R5,Y+
00377 9049 LD R4,Y+
00378 9508 RET
fpdiv1:
00379 93FA ST -Y,R31
0037A 93EA ST -Y,R30
0037B 81EA LDD R30,Y+2
0037C 81FB LDD R31,Y+3
0037D D027 RCALL 0x03A5
0037E 91E9 LD R30,Y+
0037F 91F9 LD R31,Y+
00380 9622 ADIW R28,2
00381 9508 RET
fpdiv2:
00382 93FA ST -Y,R31
00383 93EA ST -Y,R30
00384 2FEC MOV R30,R28
00385 2FFD MOV R31,R29
00386 9632 ADIW R30,2
00387 D01D RCALL 0x03A5
00388 91E9 LD R30,Y+
00389 91F9 LD R31,Y+
0038A 9624 ADIW R28,4
0038B 9508 RET
fpdiv1x:
0038C 93FA ST -Y,R31
0038D 93EA ST -Y,R30
0038E 81EA LDD R30,Y+2
0038F 81FB LDD R31,Y+3
00390 D014 RCALL 0x03A5
00391 91E9 LD R30,Y+
00392 91F9 LD R31,Y+
00393 8339 STD Y+1,R19
00394 8328 ST Y,R18
00395 931A ST -Y,R17
00396 930A ST -Y,R16
00397 9508 RET
fpdiv2x:
00398 93FA ST -Y,R31
00399 93EA ST -Y,R30
0039A 2FEC MOV R30,R28
0039B 2FFD MOV R31,R29
0039C 9632 ADIW R30,2
0039D D007 RCALL 0x03A5
0039E 91E9 LD R30,Y+
0039F 91F9 LD R31,Y+
003A0 833B STD Y+3,R19
003A1 832A STD Y+2,R18
003A2 8319 STD Y+1,R17
003A3 8308 ST Y,R16
003A4 9508 RET
003A5 920A ST -Y,R0
003A6 921A ST -Y,R1
003A7 922A ST -Y,R2
003A8 923A ST -Y,R3
003A9 940E 0481 CALL saveFPRegs
003AB 933A ST -Y,R19
003AC 932A ST -Y,R18
003AD 931A ST -Y,R17
003AE 930A ST -Y,R16
003AF 8100 LD R16,Z
003B0 8111 LDD R17,Z+1
003B1 8122 LDD R18,Z+2
003B2 8133 LDD R19,Z+3
003B3 940E 0423 CALL unpacku
003B5 F409 BNE 0x03B7
003B6 C057 RJMP 0x040E
003B7 2CE6 MOV R14,R6
003B8 2CD5 MOV R13,R5
003B9 2CC4 MOV R12,R4
003BA 2EB3 MOV R11,R19
003BB 2EA2 MOV R10,R18
003BC 2E91 MOV R9,R17
003BD 2E80 MOV R8,R16
003BE 9109 LD R16,Y+
003BF 9119 LD R17,Y+
003C0 9129 LD R18,Y+
003C1 9139 LD R19,Y+
003C2 940E 0423 CALL unpacku
003C4 F1A1 BEQ 0x03F9
003C5 246E EOR R6,R14
003C6 184C SUB R4,R12
003C7 085D SBC R5,R13
003C8 E880 LDI R24,0x80
003C9 1648 CP R4,R24
003CA 0653 CPC R5,R19
003CB F00C BLT 0x03CD
003CC C033 RJMP 0x0400
003CD E881 LDI R24,0x81
003CE 1648 CP R4,R24
003CF EF8F LDI R24,0xFF
003D0 0658 CPC R5,R24
003D1 F40C BGE 0x03D3
003D2 C036 RJMP 0x0409
003D3 E280 LDI R24,0x20
003D4 2433 CLR R3
003D5 2E23 MOV R2,R19
003D6 2E12 MOV R1,R18
003D7 2E01 MOV R0,R17
003D8 2F30 MOV R19,R16
003D9 2722 CLR R18
003DA 2711 CLR R17
003DB 2700 CLR R16
003DC 9426 LSR R2
003DD 9417 ROR R1
003DE 9407 ROR R0
003DF 9537 ROR R19
003E0 9527 ROR R18
003E1 0F00 LSL R16
003E2 1F11 ROL R17
003E3 1F22 ROL R18
003E4 1F33 ROL R19
003E5 1C00 ROL R0
003E6 1C11 ROL R1
003E7 1C22 ROL R2
003E8 1C33 ROL R3
003E9 F028 BCS 0x03EF
003EA 1808 SUB R0,R8
003EB 0819 SBC R1,R9
003EC 082A SBC R2,R10
003ED 083B SBC R3,R11
003EE C004 RJMP 0x03F3
003EF 0C08 ADD R0,R8
003F0 1C19 ADC R1,R9
003F1 1C2A ADC R2,R10
003F2 1C3B ADC R3,R11
003F3 F00A BMI 0x03F5
003F4 6001 ORI R16,1
003F5 958A DEC R24
003F6 F751 BNE 0x03E1
003F7 940E 043C CALL normalize_and_pack
003F9 940E 0490 CALL restoreFPRegs
003FB 9039 LD R3,Y+
003FC 9029 LD R2,Y+
003FD 9019 LD R1,Y+
003FE 9009 LD R0,Y+
003FF 9508 RET
00400 EF0F LDI R16,0xFF
00401 2F10 MOV R17,R16
00402 E72F LDI R18,0x7F
00403 E73F LDI R19,0x7F
00404 2066 TST R6
00405 F399 BEQ 0x03F9
00406 940E 02FF CALL neg32
00408 CFF0 RJMP 0x03F9
00409 2700 CLR R16
0040A 2F10 MOV R17,R16
0040B 2F20 MOV R18,R16
0040C 2F30 MOV R19,R16
0040D CFEB RJMP 0x03F9
0040E 9109 LD R16,Y+
0040F 9119 LD R17,Y+
00410 9129 LD R18,Y+
00411 9139 LD R19,Y+
00412 CFED RJMP 0x0400
unpacks:
00413 D00F RCALL unpacku
00414 F029 BEQ 0x041A
00415 2066 TST R6
00416 F011 BEQ 0x0419
00417 940E 02FF CALL neg32
00419 9498 BCLR 1
0041A 9508 RET
tstR16_R19:
0041B 2300 TST R16
0041C F429 BNE 0x0422
0041D 2311 TST R17
0041E F419 BNE 0x0422
0041F 2322 TST R18
00420 F409 BNE 0x0422
00421 2333 TST R19
00422 9508 RET
unpacku:
00423 DFF7 RCALL tstR16_R19
00424 F099 BEQ 0x0438
00425 938A ST -Y,R24
00426 2E63 MOV R6,R19
00427 E880 LDI R24,0x80
00428 2268 AND R6,R24
00429 0F22 LSL R18
0042A 1F33 ROL R19
0042B 2E43 MOV R4,R19
0042C E78F LDI R24,0x7F
0042D 1A48 SUB R4,R24
0042E 2455 CLR R5
0042F 2788 CLR R24
00430 0A58 SBC R5,R24
00431 9526 LSR R18
00432 E830 LDI R19,0x80
00433 2B23 OR R18,R19
00434 2733 CLR R19
00435 9189 LD R24,Y+
00436 9498 BCLR 1
00437 9508 RET
00438 2444 CLR R4
00439 2455 CLR R5
0043A 2466 CLR R6
0043B 9508 RET
normalize_and_pack:
0043C DFDE RCALL tstR16_R19
0043D F409 BNE 0x043F
0043E 9508 RET
0043F 93AA ST -Y,R26
00440 93BA ST -Y,R27
00441 01D2 MOVW R26,R4
00442 939A ST -Y,R25
00443 938A ST -Y,R24
00444 E78E LDI R24,0x7E
00445 E090 LDI R25,0
00446 2333 TST R19
00447 F049 BEQ 0x0451
00448 9536 LSR R19
00449 9527 ROR R18
0044A 9517 ROR R17
0044B 9507 ROR R16
0044C 17A8 CP R26,R24
0044D 07B9 CPC R27,R25
0044E F4CC BGE 0x0468
0044F 9611 ADIW R26,1
00450 CFF5 RJMP 0x0446
00451 9580 COM R24
00452 9590 COM R25
00453 9601 ADIW R24,1
00454 2322 TST R18
00455 F0BA BMI 0x046D
00456 0F00 LSL R16
00457 1F11 ROL R17
00458 1F22 ROL R18
00459 17A8 CP R26,R24
0045A 07B9 CPC R27,R25
0045B F014 BLT 0x045E
0045C 9711 SBIW R26,1
0045D CFF6 RJMP 0x0454
0045E 2700 CLR R16
0045F 2711 CLR R17
00460 2722 CLR R18
00461 2733 CLR R19
00462 9189 LD R24,Y+
00463 9199 LD R25,Y+
00464 012D MOVW R4,R26
00465 91B9 LD R27,Y+
00466 91A9 LD R26,Y+
00467 9508 RET
00468 2733 CLR R19
00469 EF0F LDI R16,0xFF
0046A 2F10 MOV R17,R16
0046B E72F LDI R18,0x7F
0046C 2F32 MOV R19,R18
0046D 9189 LD R24,Y+
0046E 9199 LD R25,Y+
0046F 012D MOVW R4,R26
00470 C002 RJMP 0x0473
pack:
00471 93AA ST -Y,R26
00472 93BA ST -Y,R27
00473 DFA7 RCALL tstR16_R19
00474 F049 BEQ 0x047E
00475 01D2 MOVW R26,R4
00476 58A1 SUBI R26,0x81
00477 4FBF SBCI R27,0xFF
00478 012D MOVW R4,R26
00479 2D34 MOV R19,R4
0047A 0F22 LSL R18
0047B 9536 LSR R19
0047C 9527 ROR R18
0047D 2936 OR R19,R6
0047E 91B9 LD R27,Y+
0047F 91A9 LD R26,Y+
00480 9508 RET
saveFPRegs:
00481 924A ST -Y,R4
00482 925A ST -Y,R5
00483 926A ST -Y,R6
00484 927A ST -Y,R7
00485 928A ST -Y,R8
00486 929A ST -Y,R9
00487 92AA ST -Y,R10
00488 92BA ST -Y,R11
00489 92CA ST -Y,R12
0048A 92DA ST -Y,R13
0048B 92EA ST -Y,R14
0048C 92FA ST -Y,R15
0048D 938A ST -Y,R24
0048E 939A ST -Y,R25
0048F 9508 RET
restoreFPRegs:
00490 9199 LD R25,Y+
00491 9189 LD R24,Y+
00492 90F9 LD R15,Y+
00493 90E9 LD R14,Y+
00494 90D9 LD R13,Y+
00495 90C9 LD R12,Y+
00496 90B9 LD R11,Y+
00497 90A9 LD R10,Y+
00498 9099 LD R9,Y+
00499 9089 LD R8,Y+
0049A 9079 LD R7,Y+
0049B 9069 LD R6,Y+
0049C 9059 LD R5,Y+
0049D 9049 LD R4,Y+
0049E 9508 RET
fpmule:
0049F 940E 0481 CALL saveFPRegs
004A1 93AA ST -Y,R26
004A2 93BA ST -Y,R27
004A3 940E 0423 CALL unpacku
004A5 F1E1 BEQ 0x04E2
004A6 2CE6 MOV R14,R6
004A7 2CD5 MOV R13,R5
004A8 2CC4 MOV R12,R4
004A9 2EB3 MOV R11,R19
004AA 2EA2 MOV R10,R18
004AB 2E91 MOV R9,R17
004AC 2E80 MOV R8,R16
004AD 8100 LD R16,Z
004AE 8111 LDD R17,Z+1
004AF 8122 LDD R18,Z+2
004B0 8133 LDD R19,Z+3
004B1 940E 0423 CALL unpacku
004B3 F171 BEQ 0x04E2
004B4 246E EOR R6,R14
004B5 0C4C ADD R4,R12
004B6 1C5D ADC R5,R13
004B7 E880 LDI R24,0x80
004B8 1648 CP R4,R24
004B9 0653 CPC R5,R19
004BA F564 BGE 0x04E7
004BB E881 LDI R24,0x81
004BC 1648 CP R4,R24
004BD EF8F LDI R24,0xFF
004BE 0658 CPC R5,R24
004BF F16C BLT 0x04ED
004C0 9EA2 MUL R10,R18
004C1 2DB1 MOV R27,R1
004C2 2DA0 MOV R26,R0
004C3 9E91 MUL R9,R17
004C4 2D91 MOV R25,R1
004C5 2D80 MOV R24,R0
004C6 9EA0 MUL R10,R16
004C7 0D80 ADD R24,R0
004C8 1D91 ADC R25,R1
004C9 1FA3 ADC R26,R19
004CA 1FB3 ADC R27,R19
004CB 9E82 MUL R8,R18
004CC 0D80 ADD R24,R0
004CD 1D91 ADC R25,R1
004CE 1FA3 ADC R26,R19
004CF 1FB3 ADC R27,R19
004D0 9E92 MUL R9,R18
004D1 0D90 ADD R25,R0
004D2 1DA1 ADC R26,R1
004D3 1FB3 ADC R27,R19
004D4 9EA1 MUL R10,R17
004D5 0D90 ADD R25,R0
004D6 1DA1 ADC R26,R1
004D7 1FB3 ADC R27,R19
004D8 2F2B MOV R18,R27
004D9 2F1A MOV R17,R26
004DA 2F09 MOV R16,R25
004DB 0F88 LSL R24
004DC 1F00 ROL R16
004DD 1F11 ROL R17
004DE 1F22 ROL R18
004DF 1F33 ROL R19
004E0 940E 043C CALL normalize_and_pack
004E2 91B9 LD R27,Y+
004E3 91A9 LD R26,Y+
004E4 940E 0490 CALL restoreFPRegs
004E6 9508 RET
004E7 EF0F LDI R16,0xFF
004E8 2F10 MOV R17,R16
004E9 E72F LDI R18,0x7F
004EA E78F LDI R24,0x7F
004EB 2E48 MOV R4,R24
004EC CFF5 RJMP 0x04E2
004ED 2700 CLR R16
004EE 2F10 MOV R17,R16
004EF 2F20 MOV R18,R16
004F0 2F30 MOV R19,R16
004F1 CFF0 RJMP 0x04E2
fpmule1:
004F2 93FA ST -Y,R31
004F3 93EA ST -Y,R30
004F4 81EA LDD R30,Y+2
004F5 81FB LDD R31,Y+3
004F6 940E 049F CALL fpmule
004F8 91E9 LD R30,Y+
004F9 91F9 LD R31,Y+
004FA 9622 ADIW R28,2
004FB 9508 RET
fpmule2:
004FC 93FA ST -Y,R31
004FD 93EA ST -Y,R30
004FE 2FEC MOV R30,R28
004FF 2FFD MOV R31,R29
00500 9632 ADIW R30,2
00501 940E 049F CALL fpmule
00503 91E9 LD R30,Y+
00504 91F9 LD R31,Y+
00505 9624 ADIW R28,4
00506 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -