1602.lst

来自「10K到5MHz的频率测量」· LST 代码 · 共 1,887 行 · 第 1/4 页

LST
1,887
字号
     487 9541      NEG	R20
     488 5E49      SUBI	R20,0xE9
     489 C005      RJMP	0x048F
     48A 9535      ASR	R19
     48B 9527      ROR	R18
     48C 9517      ROR	R17
     48D 9507      ROR	R16
     48E 954A      DEC	R20
     48F F7D1      BNE	0x048A
     490 C00D      RJMP	0x049E
     491 5147      SUBI	R20,0x17
     492 0F00      LSL	R16
     493 1F11      ROL	R17
     494 1F22      ROL	R18
     495 1F33      ROL	R19
     496 954A      DEC	R20
     497 F7D1      BNE	0x0492
     498 C005      RJMP	0x049E
     499 E73F      LDI	R19,0x7F
     49A 2F23      MOV	R18,R19
     49B 2F13      MOV	R17,R19
     49C 2F03      MOV	R16,R19
     49D C004      RJMP	0x04A2
     49E 2366      TST	R22
     49F F011      BEQ	0x04A2
     4A0 940E 0438 CALL	neg32
     4A2 9169      LD	R22,Y+
     4A3 9159      LD	R21,Y+
     4A4 9149      LD	R20,Y+
     4A5 9508      RET
uint2fp:
     4A6 9468      BSET	6
     4A7 C001      RJMP	0x04A9
int2fp:
     4A8 94E8      BCLR	6
     4A9 2722      CLR	R18
     4AA 2733      CLR	R19
     4AB F046      BRTS	0x04B4
     4AC FD17      SBRC	R17,7
     4AD 9520      COM	R18
     4AE FD17      SBRC	R17,7
     4AF 9530      COM	R19
     4B0 C003      RJMP	0x04B4
ulong2fp:
     4B1 9468      BSET	6
     4B2 C001      RJMP	0x04B4
long2fp:
     4B3 94E8      BCLR	6
     4B4 934A      ST	R20,-Y
     4B5 935A      ST	R21,-Y
     4B6 936A      ST	R22,-Y
     4B7 E147      LDI	R20,0x17
     4B8 2766      CLR	R22
     4B9 2755      CLR	R21
     4BA F02E      BRTS	0x04C0
     4BB 2333      TST	R19
     4BC F41A      BPL	0x04C0
     4BD 940E 0438 CALL	neg32
     4BF E860      LDI	R22,0x80
     4C0 940E 059B CALL	normalize_and_pack
     4C2 9169      LD	R22,Y+
     4C3 9159      LD	R21,Y+
     4C4 9149      LD	R20,Y+
     4C5 9508      RET
fpdiv1:
     4C6 93FA      ST	R31,-Y
     4C7 93EA      ST	R30,-Y
     4C8 81EA      LDD	R30,Y+2
     4C9 81FB      LDD	R31,Y+3
     4CA D027      RCALL	0x04F2
     4CB 91E9      LD	R30,Y+
     4CC 91F9      LD	R31,Y+
     4CD 9622      ADIW	R28,2
     4CE 9508      RET
fpdiv2:
     4CF 93FA      ST	R31,-Y
     4D0 93EA      ST	R30,-Y
     4D1 2FEC      MOV	R30,R28
     4D2 2FFD      MOV	R31,R29
     4D3 9632      ADIW	R30,2
     4D4 D01D      RCALL	0x04F2
     4D5 91E9      LD	R30,Y+
     4D6 91F9      LD	R31,Y+
     4D7 9624      ADIW	R28,4
     4D8 9508      RET
fpdiv1x:
     4D9 93FA      ST	R31,-Y
     4DA 93EA      ST	R30,-Y
     4DB 81EA      LDD	R30,Y+2
     4DC 81FB      LDD	R31,Y+3
     4DD D014      RCALL	0x04F2
     4DE 91E9      LD	R30,Y+
     4DF 91F9      LD	R31,Y+
     4E0 8339      STD	Y+1,R19
     4E1 8328      STD	Y+0,R18
     4E2 931A      ST	R17,-Y
     4E3 930A      ST	R16,-Y
     4E4 9508      RET
fpdiv2x:
     4E5 93FA      ST	R31,-Y
     4E6 93EA      ST	R30,-Y
     4E7 2FEC      MOV	R30,R28
     4E8 2FFD      MOV	R31,R29
     4E9 9632      ADIW	R30,2
     4EA D007      RCALL	0x04F2
     4EB 91E9      LD	R30,Y+
     4EC 91F9      LD	R31,Y+
     4ED 833B      STD	Y+3,R19
     4EE 832A      STD	Y+2,R18
     4EF 8319      STD	Y+1,R17
     4F0 8308      STD	Y+0,R16
     4F1 9508      RET
     4F2 924A      ST	R4,-Y
     4F3 925A      ST	R5,-Y
     4F4 926A      ST	R6,-Y
     4F5 927A      ST	R7,-Y
     4F6 928A      ST	R8,-Y
     4F7 929A      ST	R9,-Y
     4F8 92AA      ST	R10,-Y
     4F9 92BA      ST	R11,-Y
     4FA 92CA      ST	R12,-Y
     4FB 92DA      ST	R13,-Y
     4FC 92EA      ST	R14,-Y
     4FD 92FA      ST	R15,-Y
     4FE 934A      ST	R20,-Y
     4FF 935A      ST	R21,-Y
     500 936A      ST	R22,-Y
     501 937A      ST	R23,-Y
     502 938A      ST	R24,-Y
     503 939A      ST	R25,-Y
     504 933A      ST	R19,-Y
     505 932A      ST	R18,-Y
     506 931A      ST	R17,-Y
     507 930A      ST	R16,-Y
     508 8100      LDD	R16,Z+0
     509 8111      LDD	R17,Z+1
     50A 8122      LDD	R18,Z+2
     50B 8133      LDD	R19,Z+3
     50C 940E 0586 CALL	unpacku
     50E F409      BNE	0x0510
     50F C061      RJMP	0x0571
     510 2EE6      MOV	R14,R22
     511 2ED5      MOV	R13,R21
     512 2EC4      MOV	R12,R20
     513 2EB3      MOV	R11,R19
     514 2EA2      MOV	R10,R18
     515 2E91      MOV	R9,R17
     516 2E80      MOV	R8,R16
     517 9109      LD	R16,Y+
     518 9119      LD	R17,Y+
     519 9129      LD	R18,Y+
     51A 9139      LD	R19,Y+
     51B 940E 0586 CALL	unpacku
     51D F191      BEQ	0x0550
     51E 256E      EOR	R22,R14
     51F 194C      SUB	R20,R12
     520 095D      SBC	R21,R13
     521 3840      CPI	R20,0x80
     522 0753      CPC	R21,R19
     523 F00C      BLT	0x0525
     524 C03E      RJMP	0x0563
     525 3841      CPI	R20,0x81
     526 EF7F      LDI	R23,0xFF
     527 0757      CPC	R21,R23
     528 F40C      BGE	0x052A
     529 C042      RJMP	0x056C
     52A E280      LDI	R24,0x20
     52B 2477      CLR	R7
     52C 2E63      MOV	R6,R19
     52D 2E52      MOV	R5,R18
     52E 2E41      MOV	R4,R17
     52F 2F30      MOV	R19,R16
     530 2722      CLR	R18
     531 2711      CLR	R17
     532 2700      CLR	R16
     533 9466      LSR	R6
     534 9457      ROR	R5
     535 9447      ROR	R4
     536 9537      ROR	R19
     537 9527      ROR	R18
     538 0F00      LSL	R16
     539 1F11      ROL	R17
     53A 1F22      ROL	R18
     53B 1F33      ROL	R19
     53C 1C44      ROL	R4
     53D 1C55      ROL	R5
     53E 1C66      ROL	R6
     53F 1C77      ROL	R7
     540 F028      BCS	0x0546
     541 1848      SUB	R4,R8
     542 0859      SBC	R5,R9
     543 086A      SBC	R6,R10
     544 087B      SBC	R7,R11
     545 C004      RJMP	0x054A
     546 0C48      ADD	R4,R8
     547 1C59      ADC	R5,R9
     548 1C6A      ADC	R6,R10
     549 1C7B      ADC	R7,R11
     54A F00A      BMI	0x054C
     54B 6001      ORI	R16,1
     54C 958A      DEC	R24
     54D F751      BNE	0x0538
     54E 940E 059B CALL	normalize_and_pack
     550 9199      LD	R25,Y+
     551 9189      LD	R24,Y+
     552 9179      LD	R23,Y+
     553 9169      LD	R22,Y+
     554 9159      LD	R21,Y+
     555 9149      LD	R20,Y+
     556 90F9      LD	R15,Y+
     557 90E9      LD	R14,Y+
     558 90D9      LD	R13,Y+
     559 90C9      LD	R12,Y+
     55A 90B9      LD	R11,Y+
     55B 90A9      LD	R10,Y+
     55C 9099      LD	R9,Y+
     55D 9089      LD	R8,Y+
     55E 9079      LD	R7,Y+
     55F 9069      LD	R6,Y+
     560 9059      LD	R5,Y+
     561 9049      LD	R4,Y+
     562 9508      RET
     563 EF0F      LDI	R16,0xFF
     564 2F10      MOV	R17,R16
     565 E72F      LDI	R18,0x7F
     566 E73F      LDI	R19,0x7F
     567 2366      TST	R22
     568 F339      BEQ	0x0550
     569 940E 0438 CALL	neg32
     56B CFE4      RJMP	0x0550
     56C 2700      CLR	R16
     56D 2F10      MOV	R17,R16
     56E 2F20      MOV	R18,R16
     56F 2F30      MOV	R19,R16
     570 CFDF      RJMP	0x0550
     571 9109      LD	R16,Y+
     572 9119      LD	R17,Y+
     573 9129      LD	R18,Y+
     574 9139      LD	R19,Y+
     575 CFED      RJMP	0x0563
unpacks:
     576 D00F      RCALL	unpacku
     577 F029      BEQ	0x057D
     578 2366      TST	R22
     579 F011      BEQ	0x057C
     57A 940E 0438 CALL	neg32
     57C 9498      BCLR	1
     57D 9508      RET
tstR16_R19:
     57E 2300      TST	R16
     57F F429      BNE	0x0585
     580 2311      TST	R17
     581 F419      BNE	0x0585
     582 2322      TST	R18
     583 F409      BNE	0x0585
     584 2333      TST	R19
     585 9508      RET
unpacku:
     586 DFF7      RCALL	tstR16_R19
     587 F079      BEQ	0x0597
     588 2F63      MOV	R22,R19
     589 7860      ANDI	R22,0x80
     58A 0F22      LSL	R18
     58B 1F33      ROL	R19
     58C 2F43      MOV	R20,R19
     58D E75F      LDI	R21,0x7F
     58E 1B45      SUB	R20,R21
     58F 2755      CLR	R21
     590 4050      SBCI	R21,0
     591 9526      LSR	R18
     592 E830      LDI	R19,0x80
     593 2B23      OR	R18,R19
     594 2733      CLR	R19
     595 9498      BCLR	1
     596 9508      RET
     597 2744      CLR	R20
     598 2755      CLR	R21
     599 2766      CLR	R22
     59A 9508      RET
normalize_and_pack:
     59B DFE2      RCALL	tstR16_R19
     59C F121      BEQ	0x05C1
     59D 939A      ST	R25,-Y
     59E 938A      ST	R24,-Y
     59F E78E      LDI	R24,0x7E
     5A0 E090      LDI	R25,0
     5A1 2333      TST	R19
     5A2 F051      BEQ	0x05AD
     5A3 9536      LSR	R19
     5A4 9527      ROR	R18
     5A5 9517      ROR	R17
     5A6 9507      ROR	R16
     5A7 1748      CP	R20,R24
     5A8 0759      CPC	R21,R25
     5A9 F4C4      BGE	0x05C2
     5AA 5F4F      SUBI	R20,0xFF
     5AB 4F5F      SBCI	R21,0xFF
     5AC CFF4      RJMP	0x05A1
     5AD 9580      COM	R24
     5AE 9590      COM	R25
     5AF 9601      ADIW	R24,1
     5B0 2322      TST	R18
     5B1 F0AA      BMI	0x05C7
     5B2 0F00      LSL	R16
     5B3 1F11      ROL	R17
     5B4 1F22      ROL	R18
     5B5 1748      CP	R20,R24
     5B6 0759      CPC	R21,R25
     5B7 F01C      BLT	0x05BB
     5B8 5041      SUBI	R20,1
     5B9 4050      SBCI	R21,0
     5BA CFF5      RJMP	0x05B0
     5BB 2700      CLR	R16
     5BC 2711      CLR	R17
     5BD 2722      CLR	R18
     5BE 2733      CLR	R19
     5BF 9189      LD	R24,Y+
     5C0 9199      LD	R25,Y+
     5C1 9508      RET
     5C2 2733      CLR	R19
     5C3 EF0F      LDI	R16,0xFF
     5C4 2F10      MOV	R17,R16
     5C5 E72F      LDI	R18,0x7F
     5C6 2F32      MOV	R19,R18
     5C7 9189      LD	R24,Y+
     5C8 9199      LD	R25,Y+
pack:
     5C9 DFB4      RCALL	tstR16_R19
     5CA F039      BEQ	0x05D2
     5CB 5841      SUBI	R20,0x81
     5CC 4F5F      SBCI	R21,0xFF
     5CD 2F34      MOV	R19,R20
     5CE 0F22      LSL	R18
     5CF 9536      LSR	R19
     5D0 9527      ROR	R18
     5D1 2B36      OR	R19,R22
     5D2 9508      RET
fpneg:
     5D3 DFAA      RCALL	tstR16_R19
     5D4 F021      BEQ	0x05D9
     5D5 930F      PUSH	R16
     5D6 E800      LDI	R16,0x80
     5D7 2730      EOR	R19,R16
     5D8 910F      POP	R16
     5D9 9508      RET
fpneg2:
     5DA DFF8      RCALL	fpneg
     5DB 933A      ST	R19,-Y
     5DC 932A      ST	R18,-Y
     5DD 931A      ST	R17,-Y
     5DE 930A      ST	R16,-Y
     5DF 9508      RET
saveR8toR25:
     5E0 928A      ST	R8,-Y
     5E1 929A      ST	R9,-Y
     5E2 92AA      ST	R10,-Y
     5E3 92BA      ST	R11,-Y
     5E4 92CA      ST	R12,-Y
     5E5 92DA      ST	R13,-Y
     5E6 92EA      ST	R14,-Y
     5E7 92FA      ST	R15,-Y
     5E8 934A      ST	R20,-Y
     5E9 935A      ST	R21,-Y
     5EA 936A      ST	R22,-Y
     5EB 937A      ST	R23,-Y
     5EC 938A      ST	R24,-Y
     5ED 939A      ST	R25,-Y
     5EE 9508      RET
restoreR8toR25:
     5EF 9199      LD	R25,Y+
     5F0 9189      LD	R24,Y+
     5F1 9179      LD	R23,Y+
     5F2 9169      LD	R22,Y+
     5F3 9159      LD	R21,Y+
     5F4 9149      LD	R20,Y+
     5F5 90F9      LD	R15,Y+
     5F6 90E9      LD	R14,Y+
     5F7 90D9      LD	R13,Y+
     5F8 90C9      LD	R12,Y+
     5F9 90B9      LD	R11,Y+
     5FA 90A9      LD	R10,Y+
     5FB 9099      LD	R9,Y+
     5FC 9089      LD	R8,Y+
     5FD 9508      RET
fpmule:
     5FE 940E 05E0 CALL	saveR8toR25
     600 93AA      ST	R26,-Y
     601 93BA      ST	R27,-Y
     602 940E 0586 CALL	unpacku
     604 F1D1      BEQ	0x063F
     605 2EE6      MOV	R14,R22
     606 2ED5      MOV	R13,R21
     607 2EC4      MOV	R12,R20
     608 2EB3      MOV	R11,R19
     609 2EA2      MOV	R10,R18
     60A 2E91      MOV	R9,R17
     60B 2E80      MOV	R8,R16
     60C 8100      LDD	R16,Z+0
     60D 8111      LDD	R17,Z+1
     60E 8122      LDD	R18,Z+2
     60F 8133      LDD	R19,Z+3
     610 940E 0586 CALL	unpacku
     612 F161      BEQ	0x063F
     613 256E      EOR	R22,R14
     614 0D4C      ADD	R20,R12
     615 1D5D      ADC	R21,R13
     616 3840      CPI	R20,0x80
     617 0753      CPC	R21,R19
     618 F55C      BGE	0x0644
     619 3841      CPI	R20,0x81
     61A EF7F      LDI	R23,0xFF
     61B 0757      CPC	R21,R23
     61C F164      BLT	0x0649
     61D 9EA2      MUL	R10,R18
     61E 2DB1      MOV	R27,R1
     61F 2DA0      MOV	R26,R0
     620 9E91      MUL	R9,R17
     621 2D91      MOV	R25,R1
     622 2D80      MOV	R24,R0
     623 9EA0      MUL	R10,R16
     624 0D80      ADD	R24,R0
     625 1D91      ADC	R25,R1
     626 1FA3      ADC	R26,R19
     627 1FB3      ADC	R27,R19
     628 9E82      MUL	R8,R18
     629 0D80      ADD	R24,R0
     62A 1D91      ADC	R25,R1
     62B 1FA3      ADC	R26,R19
     62C 1FB3      ADC	R27,R19
     62D 9E92      MUL	R9,R18
     62E 0D90      ADD	R25,R0
     62F 1DA1      ADC	R26,R1
     630 1FB3      ADC	R27,R19
     631 9EA1      MUL	R10,R17
     632 0D90      ADD	R25,R0
     633 1DA1      ADC	R26,R1
     634 1FB3      ADC	R27,R19
     635 2F2B      MOV	R18,R27
     636 2F1A      MOV	R17,R26
     637 2F09      MOV	R16,R25
     638 0F88      LSL	R24
     639 1F00      ROL	R16
     63A 1F11      ROL	R17
     63B 1F22      ROL	R18
     63C 1F33      ROL	R19
     63D 940E 059B CALL	normalize_and_pack
     63F 91B9      LD	R27,Y+
     640 91A9      LD	R26,Y+
     641 940E 05EF CALL	restoreR8toR25
     643 9508      RET
     644 EF0F      LDI	R16,0xFF
     645 2F10      MOV	R17,R16
     646 E72F      LDI	R18,0x7F
     647 E74F      LDI	R20,0x7F
     648 CFF6      RJMP	0x063F
     649 2700      CLR	R16
     64A 2F10      MOV	R17,R16
     64B 2F20      MOV	R18,R16
     64C 2F30      MOV	R19,R16
     64D CFF1      RJMP	0x063F
fpmule1:
     64E 93FA      ST	R31,-Y
     64F 93EA      ST	R30,-Y
     650 81EA      LDD	R30,Y+2
     651 81FB      LDD	R31,Y+3
     652 940E 05FE CALL	fpmule
     654 91E9      LD	R30,Y+
     655 91F9      LD	R31,Y+
     656 9622      ADIW	R28,2
     657 9508      RET

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?