📄 main.lst
字号:
629 0000F03A A5 6A < lda GB_Receive_Flag
630 0000F03C 29 FD < and #~C_ReceInit_Allow
631 0000F03E 09 04 < ora #C_ReceStart_Allow ;Allow to receive starting data
632 0000F040 85 6A < sta GB_Receive_Flag
633 0000F042 4C 51 F0 < jmp ?L_Receive_Init_Exit
634 <
635 0000F045 < ?L_Send_Mode:
636 0000F045 A5 6A < lda GB_Receive_Flag
637 0000F047 29 F0 < and #~(C_Rece_Allow+C_ReceInit_Allow+C_ReceStart_Allow+C_ReceID_Allow)
638 0000F049 85 6A < sta GB_Receive_Flag
639 0000F04B A5 0D < lda P_INT_Ctrl0
640 0000F04D 29 FD < and #~C_INT_CAP3IE ;Capture3 INT enable
641 0000F04F 85 0D < sta P_INT_Ctrl0
642 0000F051 < ?L_Receive_Init_Exit:
643 0000F051 60 < rts
644 <
645 < ;==================================================================================
646 < ; Function: F_Receive
647 < ; Description: decode datas and save the decoded datas in a 5-byte RAM
648 < ; Input: GB_Send_Flag
649 < ; GB_Receive_Flag
650 < ; Output: G_RF_data
651 < ; GB_Receive_Flag
652 < ; Destroy: A,X
653 < ; Stacks: 2
654 < ;==================================================================================
655 0000F052 < F_Receive:
656 0000F052 A5 65 < lda GB_Send_Flag
657 0000F054 29 80 < and #C_Send_Allow ;In sending mode
658 0000F056 D0 06 < bne ?L_Send_Mode1 ;yes
659 <
660 0000F058 A5 6A < lda GB_Receive_Flag
661 0000F05A 29 01 < and #C_Rece_Allow ;In receiving mode
662 0000F05C D0 0F < bne ?L_Start_Bit ;yes
663 <
664 0000F05E < ?L_Send_Mode1:
665 0000F05E A5 6A < lda GB_Receive_Flag
666 0000F060 29 F1 < and #~(C_ReceInit_Allow+C_ReceStart_Allow+C_ReceID_Allow)
667 0000F062 85 6A < sta GB_Receive_Flag
668 0000F064 A5 0D < lda P_INT_Ctrl0
669 0000F066 29 FD < and #~C_INT_CAP3IE ;Capture3 INT enable
670 0000F068 85 0D < sta P_INT_Ctrl0
671 0000F06A 4C CD F0 < jmp ?L_ReceEnd
672 <
673 0000F06D < ?L_Start_Bit:
674 0000F06D A5 1D < lda P_TMR3_CapHi
675 0000F06F 85 6B < sta G_RF_Time ;rising edage data
676 0000F071 < ?_incept:
677 0000F071 A5 6A < lda GB_Receive_Flag
678 0000F073 29 04 < and #C_ReceStart_Allow ;Allow to receive starting data
679 0000F075 F0 19 < beq ?L_ID_Word ;no
680 <
681 0000F077 A5 6B < lda G_RF_Time ;\69
682 0000F079 C9 36 < cmp #54 ;+
683 0000F07B 90 59 < bcc ?L_Error ;+=the front code = 156 (9ms)
684 0000F07D C9 54 < cmp #84 ;+
685 0000F07F B0 55 < bcs ?L_Error ;/
686 <
687 0000F081 A5 6A < lda GB_Receive_Flag
688 0000F083 29 FB < and #~C_ReceStart_Allow
689 0000F085 09 08 < ora #C_ReceID_Allow
690 0000F087 85 6A < sta GB_Receive_Flag
691 0000F089 A9 00 < lda #0
692 0000F08B 85 71 < sta G_RF_Number
693 0000F08D 4C DE F0 < jmp ?L_Receive_Exit
694 <
695 0000F090 < ?L_ID_Word:
696 0000F090 A5 6A < lda GB_Receive_Flag
697 0000F092 29 08 < and #C_ReceID_Allow
698 0000F094 F0 40 < beq ?L_Error
699 <
700 0000F096 A5 6B < lda G_RF_Time ;\ 13
701 0000F098 C9 06 < cmp #6 ;+
702 0000F09A 90 3A < bcc ?L_Error ;+= receive "0" =39 (0.94ms)?
703 0000F09C C9 12 < cmp #18 ;+
704 0000F09E B0 03 < bcs ?_incept_1 ;/
705 0000F0A0 4C AE F0 < jmp ?_icept_number ;no
706 <
707 0000F0A3 < ?_incept_1:
708 0000F0A3 A5 6B < lda G_RF_Time ;\25
709 0000F0A5 C9 12 < cmp #18 ;+
710 0000F0A7 90 2D < bcc ?L_Error ;+= receive "1" =78 (1.88ms)?
711 0000F0A9 C9 23 < cmp #35 ;+
712 0000F0AB B0 29 < bcs ?L_Error ;/
713 0000F0AD 38 < sec ;yes
714 <
715 0000F0AE < ?_icept_number:
716 0000F0AE 26 6C < rol G_RF_data ;\
717 0000F0B0 26 6D < rol G_RF_data+1 ;+
718 0000F0B2 26 6E < rol G_RF_data+2 ;+= receive bits one by one
719 0000F0B4 26 6F < rol G_RF_data+3 ;+
720 0000F0B6 26 70 < rol G_RF_data+4 ;/
721 <
722 0000F0B8 E6 71 < inc G_RF_Number
723 0000F0BA A5 71 < lda G_RF_Number
724 0000F0BC C9 08 < cmp #8 ;get ID word?
725 0000F0BE F0 10 < beq ?L_Int ;yes
726 0000F0C0 C9 28 < cmp #C_RF_Number ;receive end?
727 0000F0C2 90 1A < bcc ?L_Receive_Exit ;no
728 <
729 0000F0C4 20 DF F0 < jsr F_DataCorrect
730 0000F0C7 F0 0D < beq ?L_Error
731 <
732 0000F0C9 A9 10 < lda #C_ReceEnd_Allow
733 0000F0CB 85 6A < sta GB_Receive_Flag
734 0000F0CD < ?L_ReceEnd:
735 0000F0CD 4C DE F0 < jmp ?L_Receive_Exit
736 <
737 0000F0D0 < ?L_Int:
738 0000F0D0 A5 6C < lda G_RF_data
739 0000F0D2 C9 AA < cmp #$AA ;ID word past?
740 0000F0D4 F0 08 < beq ?L_Receive_Exit ;yes
741 0000F0D6 < ?L_Error: ;Error cope
742 0000F0D6 A5 6A < lda GB_Receive_Flag
743 0000F0D8 29 10 < and #C_ReceEnd_Allow
744 0000F0DA 09 05 < ora #(C_Rece_Allow+C_ReceStart_Allow)
745 0000F0DC 85 6A < sta GB_Receive_Flag
746 0000F0DE < ?L_Receive_Exit:
747 0000F0DE 60 < rts
748 < ;==================================================================================
749 < ; Function: F_DataCorrect
750 < ; Description: Check up 4byte datas
751 < ; Input: G_RF_data
752 < ; Output: G_RF_data
753 < ; Destroy: A
754 < ; Stacks: 1
755 < ;==================================================================================
756 0000F0DF < F_DataCorrect:
757 0000F0DF A5 6D < lda G_RF_data+1
758 0000F0E1 C5 6F < cmp G_RF_data+3
759 0000F0E3 F0 3A < beq ?L_Right
760 <
761 0000F0E5 A5 6C < lda G_RF_data
762 0000F0E7 C5 6E < cmp G_RF_data+2
763 0000F0E9 F0 2E < beq ?L_ReceiveData
764 <
765 0000F0EB 18 < clc
766 0000F0EC A5 6C < lda G_RF_data
767 0000F0EE 65 6D < adc G_RF_data+1
768 0000F0F0 C9 FF < cmp #$FF
769 0000F0F2 F0 2B < beq ?L_Right
770 <
771 0000F0F4 18 < clc
772 0000F0F5 A5 6C < lda G_RF_data
773 0000F0F7 65 6F < adc G_RF_data+3
774 0000F0F9 C9 FF < cmp #$FF
775 0000F0FB F0 15 < beq ?L_ReceiveData1
776 <
777 0000F0FD 18 < clc
778 0000F0FE A5 6E < lda G_RF_data+2
779 0000F100 65 6D < adc G_RF_data+1
780 0000F102 C9 FF < cmp #$FF
781 0000F104 F0 19 < beq ?L_Right
782 <
783 0000F106 18 < clc
784 0000F107 A5 6F < lda G_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -