📄 ytep_rf.lst
字号:
\ 000000C6 0078 LDRB R0,[R0, #+0]
\ 000000C8 401C ADDS R0,R0,#+1
\ 000000CA 1A4B LDR.N R3,??IsrSend_1+0x10 ;; ??IS + 4
\ 000000CC 1870 STRB R0,[R3, #+0]
85 Re->SendChannel<<=1;
\ 000000CE 087E LDRB R0,[R1, #+24]
\ 000000D0 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 000000D2 4000 LSLS R0,R0,#+1
\ 000000D4 0876 STRB R0,[R1, #+24]
\ 000000D6 23E0 B.N ??IsrSend_7
86 }
87 }else
88 {
89 Clr_bit(IO_RFTX,B_RFTX);
\ ??IsrSend_8:
\ 000000D8 1548 LDR.N R0,??IsrSend_1+0xC ;; 0x4001100c
\ 000000DA 0068 LDR R0,[R0, #+0]
\ 000000DC 7FF40063 MVNS R3,#+2048
\ 000000E0 0340 ANDS R3,R3,R0
\ 000000E2 1348 LDR.N R0,??IsrSend_1+0xC ;; 0x4001100c
\ 000000E4 0360 STR R3,[R0, #+0]
90 if(++IS.counter>=C_asyn_L)IS.loop++,IS.counter=0;
\ 000000E6 0F48 LDR.N R0,??IsrSend_1 ;; ??IS + 3
\ 000000E8 0078 LDRB R0,[R0, #+0]
\ 000000EA 401C ADDS R0,R0,#+1
\ 000000EC 0D4B LDR.N R3,??IsrSend_1 ;; ??IS + 3
\ 000000EE 1870 STRB R0,[R3, #+0]
\ 000000F0 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 000000F2 0428 CMP R0,#+4
\ 000000F4 07D3 BCC.N ??IsrSend_12
\ 000000F6 0F48 LDR.N R0,??IsrSend_1+0x10 ;; ??IS + 4
\ 000000F8 0078 LDRB R0,[R0, #+0]
\ 000000FA 401C ADDS R0,R0,#+1
\ 000000FC 0D4B LDR.N R3,??IsrSend_1+0x10 ;; ??IS + 4
\ 000000FE 1870 STRB R0,[R3, #+0]
\ 00000100 0848 LDR.N R0,??IsrSend_1 ;; ??IS + 3
\ 00000102 0023 MOVS R3,#+0
\ 00000104 0370 STRB R3,[R0, #+0]
91 if(IS.loop>=9)Set_bit(IO_RFTX,B_RFTX),Re->B_Send=Re->Flag=0;
\ ??IsrSend_12:
\ 00000106 0B48 LDR.N R0,??IsrSend_1+0x10 ;; ??IS + 4
\ 00000108 0078 LDRB R0,[R0, #+0]
\ 0000010A 0928 CMP R0,#+9
\ 0000010C 08D3 BCC.N ??IsrSend_7
\ 0000010E 0848 LDR.N R0,??IsrSend_1+0xC ;; 0x4001100c
\ 00000110 0068 LDR R0,[R0, #+0]
\ 00000112 50F40060 ORRS R0,R0,#0x800
\ 00000116 064B LDR.N R3,??IsrSend_1+0xC ;; 0x4001100c
\ 00000118 1860 STR R0,[R3, #+0]
\ 0000011A 0020 MOVS R0,#+0
\ 0000011C 8875 STRB R0,[R1, #+22]
\ 0000011E C875 STRB R0,[R1, #+23]
92
93 }
94 }
95 return 0;
\ ??IsrSend_7:
\ 00000120 0020 MOVS R0,#+0
\ ??IsrSend_2:
\ 00000122 7047 BX LR ;; return
\ ??IsrSend_1:
\ 00000124 ........ DC32 ??IS + 3
\ 00000128 ........ DC32 ??IS + 5
\ 0000012C 0C0C0140 DC32 0x40010c0c
\ 00000130 0C100140 DC32 0x4001100c
\ 00000134 ........ DC32 ??IS + 4
96 }
\ In section .bss, align 4
\ ??IS:
\ 00000000 DS8 8
97 //////////////////////////////////////////////
98 //////////////////////////////////
99 /*CHK_RF(&RF,YT->Sensor);*///5ms
100 /************************************/
\ In section .XML, align 4, keep-with-next
101 Int32U CHK_RF(REC *p,SensorRF *pos)
102 {
\ CHK_RF:
\ 00000000 73B5 PUSH {R0,R1,R4-R6,LR}
\ 00000002 0400 MOVS R4,R0
\ 00000004 0E00 MOVS R6,R1
103 volatile Int8U a,b;
104 Int16U crc_data;
105 static Int8U Timcount;
106 static Int8U RF_error[5]={0,0,0,0,0};
107
108 if(++Timcount<4)return 0;
\ 00000006 4F48 LDR.N R0,??CHK_RF_0 ;; ??Timcount
\ 00000008 0078 LDRB R0,[R0, #+0]
\ 0000000A 401C ADDS R0,R0,#+1
\ 0000000C 4D49 LDR.N R1,??CHK_RF_0 ;; ??Timcount
\ 0000000E 0870 STRB R0,[R1, #+0]
\ 00000010 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000012 0428 CMP R0,#+4
\ 00000014 01D2 BCS.N ??CHK_RF_1
\ 00000016 0020 MOVS R0,#+0
\ 00000018 91E0 B.N ??CHK_RF_2
109 Timcount=0;
\ ??CHK_RF_1:
\ 0000001A 4A48 LDR.N R0,??CHK_RF_0 ;; ??Timcount
\ 0000001C 0021 MOVS R1,#+0
\ 0000001E 0170 STRB R1,[R0, #+0]
110 if(p->channel>=5)p->channel=0;
\ 00000020 607E LDRB R0,[R4, #+25]
\ 00000022 0528 CMP R0,#+5
\ 00000024 01D3 BCC.N ??CHK_RF_3
\ 00000026 0020 MOVS R0,#+0
\ 00000028 6076 STRB R0,[R4, #+25]
111 if(p->Flag!=0)
\ ??CHK_RF_3:
\ 0000002A A07D LDRB R0,[R4, #+22]
\ 0000002C 0028 CMP R0,#+0
\ 0000002E 49D0 BEQ.N ??CHK_RF_4
112 {
113 crc_data=cal_crc(&p->Rec8U[0],6);
\ 00000030 0621 MOVS R1,#+6
\ 00000032 2000 MOVS R0,R4
\ 00000034 ........ BL cal_crc
\ 00000038 0500 MOVS R5,R0
114 crc_data=crc_data&0xff; //???????????
\ 0000003A EDB2 UXTB R5,R5 ;; ZeroExtS R5,R5,#+24,#+24
115 a=(p->channel)&0x03;
\ 0000003C 607E LDRB R0,[R4, #+25]
\ 0000003E 8007 LSLS R0,R0,#+30 ;; ZeroExtS R0,R0,#+30,#+30
\ 00000040 800F LSRS R0,R0,#+30
\ 00000042 8DF80000 STRB R0,[SP, #+0]
116 b=p->Rec8U[0]>>6;
\ 00000046 2078 LDRB R0,[R4, #+0]
\ 00000048 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 0000004A 8009 LSRS R0,R0,#+6
\ 0000004C 8DF80100 STRB R0,[SP, #+1]
117
118 if(a==b&&crc_data==p->Rec8U[6])
\ 00000050 9DF80000 LDRB R0,[SP, #+0]
\ 00000054 9DF80110 LDRB R1,[SP, #+1]
\ 00000058 8842 CMP R0,R1
\ 0000005A 31D1 BNE.N ??CHK_RF_5
\ 0000005C A079 LDRB R0,[R4, #+6]
\ 0000005E ADB2 UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
\ 00000060 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 00000062 8542 CMP R5,R0
\ 00000064 2CD1 BNE.N ??CHK_RF_5
119 {
120 RF_error[p->channel]=0;
\ 00000066 607E LDRB R0,[R4, #+25]
\ 00000068 3749 LDR.N R1,??CHK_RF_0+0x4 ;; ??RF_error
\ 0000006A 0022 MOVS R2,#+0
\ 0000006C 0A54 STRB R2,[R1, R0]
121 pos+=p->channel;
\ 0000006E 607E LDRB R0,[R4, #+25]
\ 00000070 1A21 MOVS R1,#+26
\ 00000072 00FB0166 MLA R6,R0,R1,R6
122 pos->ATem=p->Rec8U[2];
\ 00000076 A078 LDRB R0,[R4, #+2]
\ 00000078 3080 STRH R0,[R6, #+0]
123 pos->AVol=p->Rec8U[0]&0XF;
\ 0000007A 2078 LDRB R0,[R4, #+0]
\ 0000007C 0007 LSLS R0,R0,#+28 ;; ZeroExtS R0,R0,#+28,#+28
\ 0000007E 000F LSRS R0,R0,#+28
\ 00000080 7080 STRH R0,[R6, #+2]
124 if((p->Rec8U[0]&0x20))pos->AVol+=21;
\ 00000082 2078 LDRB R0,[R4, #+0]
\ 00000084 8006 LSLS R0,R0,#+26
\ 00000086 02D5 BPL.N ??CHK_RF_6
\ 00000088 7088 LDRH R0,[R6, #+2]
\ 0000008A 1530 ADDS R0,R0,#+21
\ 0000008C 7080 STRH R0,[R6, #+2]
125 pos->BTem=p->Rec8U[3];
\ ??CHK_RF_6:
\ 0000008E E078 LDRB R0,[R4, #+3]
\ 00000090 3081 STRH R0,[R6, #+8]
126 pos->BVol=p->Rec8U[1]>>4;
\ 00000092 6078 LDRB R0,[R4, #+1]
\ 00000094 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000096 0009 LSRS R0,R0,#+4
\ 00000098 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 0000009A 7081 STRH R0,[R6, #+10]
127 if((p->Rec8U[0]&0x20))pos->BVol+=21;
\ 0000009C 2078 LDRB R0,[R4, #+0]
\ 0000009E 8006 LSLS R0,R0,#+26
\ 000000A0 02D5 BPL.N ??CHK_RF_7
\ 000000A2 7089 LDRH R0,[R6, #+10]
\ 000000A4 1530 ADDS R0,R0,#+21
\ 000000A6 7081 STRH R0,[R6, #+10]
128 pos->CTem=p->Rec8U[4];
\ ??CHK_RF_7:
\ 000000A8 2079 LDRB R0,[R4, #+4]
\ 000000AA 3082 STRH R0,[R6, #+16]
129 pos->CVol=p->Rec8U[1]&0XF;
\ 000000AC 6078 LDRB R0,[R4, #+1]
\ 000000AE 0007 LSLS R0,R0,#+28 ;; ZeroExtS R0,R0,#+28,#+28
\ 000000B0 000F LSRS R0,R0,#+28
\ 000000B2 7082 STRH R0,[R6, #+18]
130 if((p->Rec8U[0]&0x20))pos->CVol+=21;
\ 000000B4 2078 LDRB R0,[R4, #+0]
\ 000000B6 8006 LSLS R0,R0,#+26
\ 000000B8 02D5 BPL.N ??CHK_RF_5
\ 000000BA 708A LDRH R0,[R6, #+18]
\ 000000BC 1530 ADDS R0,R0,#+21
\ 000000BE 7082 STRH R0,[R6, #+18]
131 }
132 p->Flag=FALSE;
\ ??CHK_RF_5:
\ 000000C0 0020 MOVS R0,#+0
\ 000000C2 A075 STRB R0,[R4, #+22]
133 }
134
135 if(++RF_error[p->channel]>=5)
\ ??CHK_RF_4:
\ 000000C4 607E LDRB R0,[R4, #+25]
\ 000000C6 2049 LDR.N R1,??CHK_RF_0+0x4 ;; ??RF_error
\ 000000C8 085C LDRB R0,[R1, R0]
\ 000000CA 401C ADDS R0,R0,#+1
\ 000000CC 617E LDRB R1,[R4, #+25]
\ 000000CE 1E4A LDR.N R2,??CHK_RF_0+0x4 ;; ??RF_error
\ 000000D0 5054 STRB R0,[R2, R1]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -