📄 gps-1280.lst
字号:
(0094) //uart3.state = UART_STATE_CHECK_RECV;
(0095) break;
564 C003 RJMP 0x0568
(0096)
(0097) default:
(0098) uart3.state = UART_STATE_NULL;
565 2422 CLR R2
566 9220 0651 STS uart3,R2
(0099) break;
(0100) }
(0101) return 1;
568 E001 LDI R16,1
569 940C 067D JMP pop_xgset300C
_uart3_data_send:
i --> R20
sendLen --> R18
pbuf --> R16
56B 934A ST R20,-Y
56C 935A ST R21,-Y
(0102) }
(0103) //-------------------------------------------------------------
(0104) void uart3_data_send(unsigned char *pbuf,unsigned int sendLen)
(0105) {
(0106) unsigned int i;
(0107) for(i=0;i<sendLen;i++)
56D 2744 CLR R20
56E 2755 CLR R21
56F C00C RJMP 0x057C
(0108) {
(0109) while(!(UCSR3A & (1<<UDRE3))); // 等待发送缓冲寄存器空
570 9020 0130 LDS R2,0x0130
572 FE25 SBRS R2,5
573 CFFC RJMP 0x0570
(0110) UDR3=* (pbuf+i);
574 01FA MOVW R30,R20
575 0FE0 ADD R30,R16
576 1FF1 ADC R31,R17
577 8020 LDD R2,Z+0
578 9220 0136 STS 0x0136,R2
57A 5F4F SUBI R20,0xFF
57B 4F5F SBCI R21,0xFF
57C 1742 CP R20,R18
57D 0753 CPC R21,R19
57E F388 BCS 0x0570
(0111) }
(0112) return;
57F 9159 LD R21,Y+
580 9149 LD R20,Y+
581 9508 RET
(0113) }
(0114) //-------------------------------------------------------------
(0115) void uart3_send_char(unsigned char c)
(0116) {
(0117) while(!(UCSR3A & (1<<UDRE3))); // 等待发送缓冲寄存器空
_uart3_send_char:
c --> R16
582 9020 0130 LDS R2,0x0130
584 FE25 SBRS R2,5
585 CFFC RJMP _uart3_send_char
(0118) UDR3=c;
586 9300 0136 STS 0x0136,R16
(0119) return;
588 9508 RET
FILE: E:\item\GPS-1280\watchdog.c
(0001) #include "watchdog.h"
(0002)
(0003) void watchdog_init(void)
(0004) {
(0005) WATCHDOG_DDR |= (1<<WATCHDOG_PIN);
_watchdog_init:
589 9A22 SBI 0x04,2
(0006) WATCHDOG_PORT&=~(1<<WATCHDOG_PIN);
58A 982A CBI 0x05,2
(0007)
(0008) watchdog_set();
58B D001 RCALL _watchdog_set
58C 9508 RET
(0009) }
(0010)
(0011) void watchdog_set(void)
(0012) {
(0013) WATCHDOG_PORT |= (1<<WATCHDOG_PIN);
_watchdog_set:
58D 9A2A SBI 0x05,2
(0014) WATCHDOG_PORT &=~(1<<WATCHDOG_PIN);
FILE: <library>
58E 982A CBI 0x05,2
58F 9508 RET
_strlen:
590 2FE0 MOV R30,R16
591 2FF1 MOV R31,R17
592 27AA CLR R26
593 27BB CLR R27
594 9001 LD R0,Z+
595 2000 TST R0
596 F011 BEQ 0x0599
597 9611 ADIW R26,1
598 CFFB RJMP 0x0594
599 2F0A MOV R16,R26
59A 2F1B MOV R17,R27
59B 9508 RET
push_arg4:
59C 933A ST R19,-Y
59D 932A ST R18,-Y
push_arg2:
59E 931A ST R17,-Y
59F 930A ST R16,-Y
5A0 9508 RET
mod16s:
5A1 9468 BSET 6
5A2 92DA ST R13,-Y
5A3 2ED1 MOV R13,R17
5A4 C004 RJMP 0x05A9
div16s:
5A5 94E8 BCLR 6
5A6 92DA ST R13,-Y
5A7 2ED1 MOV R13,R17
5A8 26D3 EOR R13,R19
5A9 FF17 SBRS R17,7
5AA C004 RJMP 0x05AF
5AB 9510 COM R17
5AC 9500 COM R16
5AD 5F0F SUBI R16,0xFF
5AE 4F1F SBCI R17,0xFF
5AF FF37 SBRS R19,7
5B0 C004 RJMP 0x05B5
5B1 9530 COM R19
5B2 9520 COM R18
5B3 5F2F SUBI R18,0xFF
5B4 4F3F SBCI R19,0xFF
5B5 940E 05C2 CALL xdiv16u
5B7 FED7 SBRS R13,7
5B8 C004 RJMP 0x05BD
5B9 9510 COM R17
5BA 9500 COM R16
5BB 5F0F SUBI R16,0xFF
5BC 4F1F SBCI R17,0xFF
5BD 90D9 LD R13,Y+
5BE 9508 RET
mod16u:
5BF 9468 BSET 6
5C0 C001 RJMP xdiv16u
div16u:
5C1 94E8 BCLR 6
xdiv16u:
5C2 92EA ST R14,-Y
5C3 92FA ST R15,-Y
5C4 938A ST R24,-Y
5C5 24EE CLR R14
5C6 24FF CLR R15
5C7 E180 LDI R24,0x10
5C8 0F00 LSL R16
5C9 1F11 ROL R17
5CA 1CEE ROL R14
5CB 1CFF ROL R15
5CC 16E2 CP R14,R18
5CD 06F3 CPC R15,R19
5CE F018 BCS 0x05D2
5CF 1AE2 SUB R14,R18
5D0 0AF3 SBC R15,R19
5D1 9503 INC R16
5D2 958A DEC R24
5D3 F7A1 BNE 0x05C8
5D4 F416 BRTC 0x05D7
5D5 2D0E MOV R16,R14
5D6 2D1F MOV R17,R15
5D7 9189 LD R24,Y+
5D8 90F9 LD R15,Y+
5D9 90E9 LD R14,Y+
5DA 9508 RET
div32u:
5DB 94E8 BCLR 6
5DC C001 RJMP 0x05DE
mod32u:
5DD 9468 BSET 6
5DE D030 RCALL long_div_prolog
5DF 24CC CLR R12
5E0 C009 RJMP 0x05EA
div32s:
5E1 94E8 BCLR 6
5E2 C001 RJMP 0x05E4
mod32s:
5E3 9468 BSET 6
5E4 D02A RCALL long_div_prolog
5E5 FD37 SBRC R19,7
5E6 940E 06A2 CALL neg32
5E8 FDB7 SBRC R27,7
5E9 D052 RCALL neg_R24_R27
5EA 2477 CLR R7
5EB 2488 CLR R8
5EC 2499 CLR R9
5ED 24AA CLR R10
5EE 24BB CLR R11
5EF D042 RCALL tst_R16_R19
5F0 F0C1 BEQ 0x0609
5F1 D045 RCALL tst_R24_R27
5F2 F0B1 BEQ 0x0609
5F3 E2E8 LDI R30,0x28
5F4 0F00 LSL R16
5F5 1F11 ROL R17
5F6 1F22 ROL R18
5F7 1F33 ROL R19
5F8 1C77 ROL R7
5F9 1C88 ROL R8
5FA 1C99 ROL R9
5FB 1CAA ROL R10
5FC 1CBB ROL R11
5FD 1688 CP R8,R24
5FE 0699 CPC R9,R25
5FF 06AA CPC R10,R26
600 06BB CPC R11,R27
601 F028 BCS 0x0607
602 1A88 SUB R8,R24
603 0A99 SBC R9,R25
604 0AAA SBC R10,R26
605 0ABB SBC R11,R27
606 9503 INC R16
607 95EA DEC R30
608 F759 BNE 0x05F4
609 F426 BRTC 0x060E
60A 2D08 MOV R16,R8
60B 2D19 MOV R17,R9
60C 2D2A MOV R18,R10
60D 2D3B MOV R19,R11
60E C013 RJMP long_div_epilog
long_div_prolog:
60F 927A ST R7,-Y
610 928A ST R8,-Y
611 929A ST R9,-Y
612 92AA ST R10,-Y
613 92BA ST R11,-Y
614 92CA ST R12,-Y
615 93EA ST R30,-Y
616 938A ST R24,-Y
617 939A ST R25,-Y
618 93AA ST R26,-Y
619 93BA ST R27,-Y
61A 858B LDD R24,Y+11
61B 859C LDD R25,Y+12
61C 85AD LDD R26,Y+13
61D 85BE LDD R27,Y+14
61E 2EC3 MOV R12,R19
61F F00E BRTS 0x0621
620 26CB EOR R12,R27
621 9508 RET
long_div_epilog:
622 FCC7 SBRC R12,7
623 940E 06A2 CALL neg32
625 91B9 LD R27,Y+
626 91A9 LD R26,Y+
627 9199 LD R25,Y+
628 9189 LD R24,Y+
629 91E9 LD R30,Y+
62A 90C9 LD R12,Y+
62B 90B9 LD R11,Y+
62C 90A9 LD R10,Y+
62D 9099 LD R9,Y+
62E 9089 LD R8,Y+
62F 9079 LD R7,Y+
630 9624 ADIW R28,4
631 9508 RET
tst_R16_R19:
632 2FE0 MOV R30,R16
633 2BE1 OR R30,R17
634 2BE2 OR R30,R18
635 2BE3 OR R30,R19
636 9508 RET
tst_R24_R27:
637 2FE8 MOV R30,R24
638 2BE9 OR R30,R25
639 2BEA OR R30,R26
63A 2BEB OR R30,R27
63B 9508 RET
neg_R24_R27:
63C 9580 COM R24
63D 9590 COM R25
63E 95A0 COM R26
63F 95B0 COM R27
640 5F8F SUBI R24,0xFF
641 4F9F SBCI R25,0xFF
642 4FAF SBCI R26,0xFF
643 4FBF SBCI R27,0xFF
644 9508 RET
mod8u:
645 9468 BSET 6
646 C001 RJMP xdiv8u
div8u:
647 94E8 BCLR 6
xdiv8u:
648 932A ST R18,-Y
649 92FA ST R15,-Y
64A 92EA ST R14,-Y
64B 24FF CLR R15
64C 24EE CLR R14
64D E120 LDI R18,0x10
64E 0F00 LSL R16
64F 1CFF ROL R15
650 1CEE ROL R14
651 16E1 CP R14,R17
652 F010 BCS 0x0655
653 1AE1 SUB R14,R17
654 9503 INC R16
655 952A DEC R18
656 F7B9 BNE 0x064E
657 F40E BRTC 0x0659
658 2D0E MOV R16,R14
659 90E9 LD R14,Y+
65A 90F9 LD R15,Y+
65B 9129 LD R18,Y+
65C 9508 RET
pop_xgset003C:
65D 90A9 LD R10,Y+
65E 90B9 LD R11,Y+
65F 90C9 LD R12,Y+
660 90D9 LD R13,Y+
661 9508 RET
pop_xgsetF0FC:
662 90A9 LD R10,Y+
663 90B9 LD R11,Y+
664 90C9 LD R12,Y+
665 90D9 LD R13,Y+
666 90E9 LD R14,Y+
667 90F9 LD R15,Y+
668 9149 LD R20,Y+
669 9159 LD R21,Y+
66A 9169 LD R22,Y+
66B 9179 LD R23,Y+
66C 9508 RET
push_xgsetF0FC:
66D 937A ST R23,-Y
66E 936A ST R22,-Y
push_xgset30FC:
66F 935A ST R21,-Y
670 934A ST R20,-Y
push_xgset00FC:
671 92FA ST R15,-Y
672 92EA ST R14,-Y
push_xgset003C:
673 92DA ST R13,-Y
674 92CA ST R12,-Y
675 92BA ST R11,-Y
676 92AA ST R10,-Y
677 9508 RET
push_xgset300C:
678 935A ST R21,-Y
679 934A ST R20,-Y
67A 92BA ST R11,-Y
67B 92AA ST R10,-Y
67C 9508 RET
pop_xgset300C:
67D 90A9 LD R10,Y+
67E 90B9 LD R11,Y+
67F 9149 LD R20,Y+
680 9159 LD R21,Y+
681 9508 RET
push_xgset303C:
682 935A ST R21,-Y
683 934A ST R20,-Y
684 92DA ST R13,-Y
685 92CA ST R12,-Y
686 92BA ST R11,-Y
687 92AA ST R10,-Y
688 9508 RET
pop_xgset303C:
689 90A9 LD R10,Y+
68A 90B9 LD R11,Y+
68B 90C9 LD R12,Y+
68C 90D9 LD R13,Y+
68D 9149 LD R20,Y+
68E 9159 LD R21,Y+
68F 9508 RET
push_xgsetF03C:
690 937A ST R23,-Y
691 936A ST R22,-Y
692 935A ST R21,-Y
693 934A ST R20,-Y
694 92DA ST R13,-Y
695 92CA ST R12,-Y
696 92BA ST R11,-Y
697 92AA ST R10,-Y
698 9508 RET
pop_xgsetF03C:
699 90A9 LD R10,Y+
69A 90B9 LD R11,Y+
69B 90C9 LD R12,Y+
69C 90D9 LD R13,Y+
69D 9149 LD R20,Y+
69E 9159 LD R21,Y+
69F 9169 LD R22,Y+
6A0 9179 LD R23,Y+
6A1 9508 RET
neg32:
6A2 9500 COM R16
6A3 9510 COM R17
6A4 9520 COM R18
6A5 9530 COM R19
6A6 5F0F SUBI R16,0xFF
6A7 4F1F SBCI R17,0xFF
6A8 4F2F SBCI R18,0xFF
6A9 4F3F SBCI R19,0xFF
6AA 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -