📄 m64.lst
字号:
622 E050 LDI R21,0
623 E060 LDI R22,0
624 E070 LDI R23,0
625 9040 0123 LDS R4,juli+2
627 9050 0124 LDS R5,juli+3
629 9020 0121 LDS R2,juli
62B 9030 0122 LDS R3,juli+1
62D 1542 CP R20,R2
62E 0553 CPC R21,R3
62F 0564 CPC R22,R4
630 0575 CPC R23,R5
631 F584 BGE 0x0662
(0464) {DDRB |=(R_pwm1 | L_pwm1);
632 B387 IN R24,0x17
633 6A80 ORI R24,0xA0
634 BB87 OUT 0x17,R24
(0465) DDRB &=~(R_pwm1 | L_pwm1);
635 B387 IN R24,0x17
636 758F ANDI R24,0x5F
637 BB87 OUT 0x17,R24
(0466) OCR1AL = 0;
638 2422 CLR R2
639 BC2A OUT 0x2A,R2
(0467) OCR1BL = pwm_pingjun+Rpwm0;
63A 9020 0112 LDS R2,Rpwm0
63C 9030 0111 LDS R3,pwm_pingjun
63E 0C32 ADD R3,R2
63F BC38 OUT 0x28,R3
(0468) OCR1CL = 0;
640 2422 CLR R2
641 9220 0078 STS 0x0078,R2
(0469) OCR0=pwm_pingjun;
643 9020 0111 LDS R2,pwm_pingjun
645 BE21 OUT 0x31,R2
(0470) PWM_ON
646 B387 IN R24,0x17
647 6F80 ORI R24,0xF0
648 BB87 OUT 0x17,R24
(0471) juli--;
649 E041 LDI R20,1
64A E050 LDI R21,0
64B E060 LDI R22,0
64C E070 LDI R23,0
64D 9040 0123 LDS R4,juli+2
64F 9050 0124 LDS R5,juli+3
651 9020 0121 LDS R2,juli
653 9030 0122 LDS R3,juli+1
655 1A24 SUB R2,R20
656 0A35 SBC R3,R21
657 0A46 SBC R4,R22
658 0A57 SBC R5,R23
659 9230 0122 STS juli+1,R3
65B 9220 0121 STS juli,R2
65D 9250 0124 STS juli+3,R5
65F 9240 0123 STS juli+2,R4
(0472) }
661 C041 RJMP 0x06A3
(0473) else if (juli<0)
662 E040 LDI R20,0
663 E050 LDI R21,0
664 E060 LDI R22,0
665 E070 LDI R23,0
666 9040 0123 LDS R4,juli+2
668 9050 0124 LDS R5,juli+3
66A 9020 0121 LDS R2,juli
66C 9030 0122 LDS R3,juli+1
66E 1624 CP R2,R20
66F 0635 CPC R3,R21
670 0646 CPC R4,R22
671 0657 CPC R5,R23
672 F56C BGE 0x06A0
(0474) {DDRB |=(R_pwm0 | L_pwm0);
673 B387 IN R24,0x17
674 6580 ORI R24,0x50
675 BB87 OUT 0x17,R24
(0475) DDRB &=~(R_pwm0 | L_pwm0);
676 B387 IN R24,0x17
677 7A8F ANDI R24,0xAF
678 BB87 OUT 0x17,R24
(0476) OCR1AL = pwm_pingjun;
679 9020 0111 LDS R2,pwm_pingjun
67B BC2A OUT 0x2A,R2
(0477) OCR1BL = 0;
67C 2422 CLR R2
67D BC28 OUT 0x28,R2
(0478) OCR1CL = pwm_pingjun;
67E 9020 0111 LDS R2,pwm_pingjun
680 9220 0078 STS 0x0078,R2
(0479) OCR0=0;
682 2422 CLR R2
683 BE21 OUT 0x31,R2
(0480) PWM_ON
684 B387 IN R24,0x17
685 6F80 ORI R24,0xF0
686 BB87 OUT 0x17,R24
(0481) juli++;
687 E041 LDI R20,1
688 E050 LDI R21,0
689 E060 LDI R22,0
68A E070 LDI R23,0
68B 9040 0123 LDS R4,juli+2
68D 9050 0124 LDS R5,juli+3
68F 9020 0121 LDS R2,juli
691 9030 0122 LDS R3,juli+1
693 0E24 ADD R2,R20
694 1E35 ADC R3,R21
695 1E46 ADC R4,R22
696 1E57 ADC R5,R23
697 9230 0122 STS juli+1,R3
699 9220 0121 STS juli,R2
69B 9250 0124 STS juli+3,R5
69D 9240 0123 STS juli+2,R4
(0482) }/**/
69F C003 RJMP 0x06A3
(0483) else PWM_OFF
6A0 B387 IN R24,0x17
6A1 708F ANDI R24,0xF
6A2 BB87 OUT 0x17,R24
(0484) n_sec=sec;
6A3 90A0 0127 LDS R10,sec
(0485) }
(0486)
(0487) //number(0,2,5,xx,1);
(0488) //number(0,4,5,ADCjohu,1);
(0489) if (!(PINE & PREVSONG))xx=0;
6A5 990A SBIC 0x01,2
6A6 C00C RJMP 0x06B3
6A7 E040 LDI R20,0
6A8 E050 LDI R21,0
6A9 E060 LDI R22,0
6AA E070 LDI R23,0
6AB 9350 0107 STS xx+1,R21
6AD 9340 0106 STS xx,R20
6AF 9370 0109 STS xx+3,R23
6B1 9360 0108 STS xx+2,R22
(0490) if (!(PINE & NEXTSONG))
6B3 990B SBIC 0x01,3
6B4 C01A RJMP 0x06CF
(0491) {
(0492) //CLI();
(0493) number_uart1(xx,0);
6B5 2422 CLR R2
6B6 8228 STD Y+0,R2
6B7 9120 0108 LDS R18,xx+2
6B9 9130 0109 LDS R19,xx+3
6BB 9100 0106 LDS R16,xx
6BD 9110 0107 LDS R17,xx+1
6BF DD08 RCALL _number_uart1
(0494) number_uart1(ADCjohu,1);
6C0 E081 LDI R24,1
6C1 8388 STD Y+0,R24
6C2 9120 0102 LDS R18,ADCjohu+2
6C4 9130 0103 LDS R19,ADCjohu+3
6C6 9100 0100 LDS R16,ADCjohu
6C8 9110 0101 LDS R17,ADCjohu+1
6CA DCFD RCALL _number_uart1
(0495) delay_ms(20);
6CB E104 LDI R16,0x14
6CC E010 LDI R17,0
6CD 940E 06EA CALL _delay_ms
(0496) //SEI();
(0497) }
(0498) ms=0;
6CF 2422 CLR R2
6D0 2433 CLR R3
6D1 9230 0105 STS ms+1,R3
6D3 9220 0104 STS ms,R2
6D5 CEAB RJMP 0x0581
6D6 9621 ADIW R28,1
6D7 9508 RET
FILE: C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\delay.c
(0001)
(0002)
(0003) #include <iom64v.h>
(0004) #include "delay.h"
(0005)
(0006) /*-----------------------------------------------------------------------
(0007) delay_us :1us延时函数
(0008) -----------------------------------------------------------------------*/
(0009) void delay_us(void)
(0010) {
(0011) unsigned char t=2;
_delay_us:
t --> R16
6D8 E002 LDI R16,2
(0012) t--;
6D9 950A DEC R16
6DA 9508 RET
_delay_nus:
t --> R20
6DB 934A ST R20,-Y
6DC 935A ST R21,-Y
6DD 01A8 MOVW R20,R16
(0013) }
(0014)
(0015) /*-----------------------------------------------------------------------
(0016) delay_nus :长延时函数
(0017)
(0018) 输入参数: t :延时时间 us
(0019) -----------------------------------------------------------------------*/
(0020) void delay_nus(unsigned int t)
(0021) {
6DE C001 RJMP 0x06E0
(0022) while (t--)
(0023) delay_us();
6DF DFF8 RCALL _delay_us
6E0 011A MOVW R2,R20
6E1 5041 SUBI R20,1
6E2 4050 SBCI R21,0
6E3 2022 TST R2
6E4 F7D1 BNE 0x06DF
6E5 2033 TST R3
6E6 F7C1 BNE 0x06DF
6E7 9159 LD R21,Y+
6E8 9149 LD R20,Y+
6E9 9508 RET
(0024) }
(0025)
(0026) /*-----------------------------------------------------------------------
(0027) delay_ms :1ms延时函数
(0028) -----------------------------------------------------------------------*/
(0029) void delay_ms(void)
(0030) {
(0031) delay_nus(1000);
_delay_ms:
6EA EE08 LDI R16,0xE8
6EB E013 LDI R17,3
6EC DFEE RCALL _delay_nus
6ED 9508 RET
_delay_nms:
t --> R20
6EE 934A ST R20,-Y
6EF 935A ST R21,-Y
6F0 01A8 MOVW R20,R16
(0032) }
(0033)
(0034) /*-----------------------------------------------------------------------
(0035) delay_nms :长延时函数
(0036)
(0037) 输入参数: t :延时时间 ms
(0038) -----------------------------------------------------------------------*/
(0039) void delay_nms(unsigned int t)
(0040) {
6F1 C001 RJMP 0x06F3
(0041) while (t--)
(0042) delay_ms();
FILE: <library>
6F2 DFF7 RCALL _delay_ms
6F3 011A MOVW R2,R20
6F4 5041 SUBI R20,1
6F5 4050 SBCI R21,0
6F6 2022 TST R2
6F7 F7D1 BNE 0x06F2
6F8 2033 TST R3
6F9 F7C1 BNE 0x06F2
6FA 9159 LD R21,Y+
6FB 9149 LD R20,Y+
6FC 9508 RET
push_arg4:
6FD 933A ST R19,-Y
6FE 932A ST R18,-Y
push_arg2:
6FF 931A ST R17,-Y
700 930A ST R16,-Y
701 9508 RET
div32u:
702 94E8 BCLR 6
703 C001 RJMP 0x0705
mod32u:
704 9468 BSET 6
705 D030 RCALL long_div_prolog
706 24CC CLR R12
707 C009 RJMP 0x0711
div32s:
708 94E8 BCLR 6
709 C001 RJMP 0x070B
mod32s:
70A 9468 BSET 6
70B D02A RCALL long_div_prolog
70C FD37 SBRC R19,7
70D 940E 078A CALL neg32
70F FDB7 SBRC R27,7
710 D052 RCALL neg_R24_R27
711 2477 CLR R7
712 2488 CLR R8
713 2499 CLR R9
714 24AA CLR R10
715 24BB CLR R11
716 D042 RCALL tst_R16_R19
717 F0C1 BEQ 0x0730
718 D045 RCALL tst_R24_R27
719 F0B1 BEQ 0x0730
71A E2E8 LDI R30,0x28
71B 0F00 LSL R16
71C 1F11 ROL R17
71D 1F22 ROL R18
71E 1F33 ROL R19
71F 1C77 ROL R7
720 1C88 ROL R8
721 1C99 ROL R9
722 1CAA ROL R10
723 1CBB ROL R11
724 1688 CP R8,R24
725 0699 CPC R9,R25
726 06AA CPC R10,R26
727 06BB CPC R11,R27
728 F028 BCS 0x072E
729 1A88 SUB R8,R24
72A 0A99 SBC R9,R25
72B 0AAA SBC R10,R26
72C 0ABB SBC R11,R27
72D 9503 INC R16
72E 95EA DEC R30
72F F759 BNE 0x071B
730 F426 BRTC 0x0735
731 2D08 MOV R16,R8
732 2D19 MOV R17,R9
733 2D2A MOV R18,R10
734 2D3B MOV R19,R11
735 C013 RJMP long_div_epilog
long_div_prolog:
736 927A ST R7,-Y
737 928A ST R8,-Y
738 929A ST R9,-Y
739 92AA ST R10,-Y
73A 92BA ST R11,-Y
73B 92CA ST R12,-Y
73C 93EA ST R30,-Y
73D 938A ST R24,-Y
73E 939A ST R25,-Y
73F 93AA ST R26,-Y
740 93BA ST R27,-Y
741 858B LDD R24,Y+11
742 859C LDD R25,Y+12
743 85AD LDD R26,Y+13
744 85BE LDD R27,Y+14
745 2EC3 MOV R12,R19
746 F00E BRTS 0x0748
747 26CB EOR R12,R27
748 9508 RET
long_div_epilog:
749 FCC7 SBRC R12,7
74A 940E 078A CALL neg32
74C 91B9 LD R27,Y+
74D 91A9 LD R26,Y+
74E 9199 LD R25,Y+
74F 9189 LD R24,Y+
750 91E9 LD R30,Y+
751 90C9 LD R12,Y+
752 90B9 LD R11,Y+
753 90A9 LD R10,Y+
754 9099 LD R9,Y+
755 9089 LD R8,Y+
756 9079 LD R7,Y+
757 9624 ADIW R28,4
758 9508 RET
tst_R16_R19:
759 2FE0 MOV R30,R16
75A 2BE1 OR R30,R17
75B 2BE2 OR R30,R18
75C 2BE3 OR R30,R19
75D 9508 RET
tst_R24_R27:
75E 2FE8 MOV R30,R24
75F 2BE9 OR R30,R25
760 2BEA OR R30,R26
761 2BEB OR R30,R27
762 9508 RET
neg_R24_R27:
763 9580 COM R24
764 9590 COM R25
765 95A0 COM R26
766 95B0 COM R27
767 5F8F SUBI R24,0xFF
768 4F9F SBCI R25,0xFF
769 4FAF SBCI R26,0xFF
76A 4FBF SBCI R27,0xFF
76B 9508 RET
empy16s:
76C 920A ST R0,-Y
76D 921A ST R1,-Y
76E 938A ST R24,-Y
76F 939A ST R25,-Y
770 9F02 MUL R16,R18
771 01C0 MOVW R24,R0
772 9F12 MUL R17,R18
773 0D90 ADD R25,R0
774 9F03 MUL R16,R19
775 0D90 ADD R25,R0
776 018C MOVW R16,R24
777 9199 LD R25,Y+
778 9189 LD R24,Y+
779 9019 LD R1,Y+
77A 9009 LD R0,Y+
77B 9508 RET
push_xgsetF00C:
77C 937A ST R23,-Y
77D 936A ST R22,-Y
77E 935A ST R21,-Y
77F 934A ST R20,-Y
780 92BA ST R11,-Y
781 92AA ST R10,-Y
782 9508 RET
pop_xgsetF00C:
783 90A9 LD R10,Y+
784 90B9 LD R11,Y+
785 9149 LD R20,Y+
786 9159 LD R21,Y+
787 9169 LD R22,Y+
788 9179 LD R23,Y+
789 9508 RET
neg32:
78A 9500 COM R16
78B 9510 COM R17
78C 9520 COM R18
78D 9530 COM R19
78E 5F0F SUBI R16,0xFF
78F 4F1F SBCI R17,0xFF
790 4F2F SBCI R18,0xFF
791 4F3F SBCI R19,0xFF
792 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -