📄 uart.lst
字号:
\ 00000010 3988 LDRH R1,[R7, #+0]
\ 00000012 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 00000014 8842 CMP R0,R1
\ 00000016 04D0 BEQ.N ??UsartTXD_1
145 {
146 RFifo->Timer=RFifo->PushIndx=0;
\ ??UsartTXD_0:
\ 00000018 0020 MOVS R0,#+0
\ 0000001A 2880 STRH R0,[R5, #+0]
\ 0000001C 2871 STRB R0,[R5, #+4]
147 return FALSE;
\ 0000001E 0020 MOVS R0,#+0
\ 00000020 7CE0 B.N ??UsartTXD_2
148 }
149 #endif
150
151 //USART_Cmd(USART1, DISABLE);
152 b=RFifo->Buffer[5];//length
\ ??UsartTXD_1:
\ 00000022 E87A LDRB R0,[R5, #+11]
\ 00000024 0600 MOVS R6,R0
153 TFifo->Buffer[0]=*(pos+C_PrductADD);
\ 00000026 3888 LDRH R0,[R7, #+0]
\ 00000028 A071 STRB R0,[R4, #+6]
154 TFifo->Buffer[1]=RFifo->Buffer[1];
\ 0000002A E879 LDRB R0,[R5, #+7]
\ 0000002C E071 STRB R0,[R4, #+7]
155 if((RFifo->Buffer[3]+RFifo->Buffer[5])>(UART_FIFO_SIZE-2))TFifo->Buffer[1]=0x83;
\ 0000002E 687A LDRB R0,[R5, #+9]
\ 00000030 E97A LDRB R1,[R5, #+11]
\ 00000032 4018 ADDS R0,R0,R1
\ 00000034 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 00000036 6328 CMP R0,#+99
\ 00000038 01D3 BCC.N ??UsartTXD_3
\ 0000003A 8320 MOVS R0,#+131
\ 0000003C E071 STRB R0,[R4, #+7]
156 TFifo->PushIndx=2,a=RFifo->Buffer[3];//address
\ ??UsartTXD_3:
\ 0000003E 0220 MOVS R0,#+2
\ 00000040 2080 STRH R0,[R4, #+0]
\ 00000042 687A LDRB R0,[R5, #+9]
\ 00000044 ADF80000 STRH R0,[SP, #+0]
157 if(TFifo->Buffer[1]==3)
\ 00000048 E079 LDRB R0,[R4, #+7]
\ 0000004A 0328 CMP R0,#+3
\ 0000004C 1DD1 BNE.N ??UsartTXD_4
158 {
159 pos+=a;
\ 0000004E BDF80000 LDRH R0,[SP, #+0]
\ 00000052 0221 MOVS R1,#+2
\ 00000054 00FB0177 MLA R7,R0,R1,R7
160 a=2;
\ 00000058 0220 MOVS R0,#+2
\ 0000005A ADF80000 STRH R0,[SP, #+0]
161 for(;b>0;b--)
\ ??UsartTXD_5:
\ 0000005E B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 00000060 012E CMP R6,#+1
\ 00000062 12D3 BCC.N ??UsartTXD_4
162 {
163 TFifo->Buffer[TFifo->PushIndx]=*pos>>8;
\ 00000064 2088 LDRH R0,[R4, #+0]
\ 00000066 2018 ADDS R0,R4,R0
\ 00000068 3988 LDRH R1,[R7, #+0]
\ 0000006A 89B2 UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
\ 0000006C 090A LSRS R1,R1,#+8
\ 0000006E 8171 STRB R1,[R0, #+6]
164 TFifo->Buffer[++TFifo->PushIndx]=*pos&0xff;
\ 00000070 2088 LDRH R0,[R4, #+0]
\ 00000072 401C ADDS R0,R0,#+1
\ 00000074 2080 STRH R0,[R4, #+0]
\ 00000076 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 00000078 2018 ADDS R0,R4,R0
\ 0000007A 3988 LDRH R1,[R7, #+0]
\ 0000007C 8171 STRB R1,[R0, #+6]
165 pos++,TFifo->PushIndx++;
\ 0000007E BF1C ADDS R7,R7,#+2
\ 00000080 2088 LDRH R0,[R4, #+0]
\ 00000082 401C ADDS R0,R0,#+1
\ 00000084 2080 STRH R0,[R4, #+0]
166 }
\ 00000086 761E SUBS R6,R6,#+1
\ 00000088 E9E7 B.N ??UsartTXD_5
167 }
168 b=cal_crc(TFifo->Buffer,TFifo->PushIndx);
\ ??UsartTXD_4:
\ 0000008A 2188 LDRH R1,[R4, #+0]
\ 0000008C C9B2 UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
\ 0000008E 2000 MOVS R0,R4
\ 00000090 801D ADDS R0,R0,#+6
\ 00000092 ........ BL cal_crc
\ 00000096 0600 MOVS R6,R0
169 TFifo->Buffer[TFifo->PushIndx]=b>>8;
\ 00000098 2088 LDRH R0,[R4, #+0]
\ 0000009A 2018 ADDS R0,R4,R0
\ 0000009C B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 0000009E 310A LSRS R1,R6,#+8
\ 000000A0 8171 STRB R1,[R0, #+6]
170 TFifo->Buffer[++(TFifo->PushIndx)]=b&0xFF;
\ 000000A2 2088 LDRH R0,[R4, #+0]
\ 000000A4 401C ADDS R0,R0,#+1
\ 000000A6 2080 STRH R0,[R4, #+0]
\ 000000A8 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 000000AA 2018 ADDS R0,R4,R0
\ 000000AC 3100 MOVS R1,R6
\ 000000AE 8171 STRB R1,[R0, #+6]
171
172 TFifo->PopIndx=0;
\ 000000B0 0020 MOVS R0,#+0
\ 000000B2 6080 STRH R0,[R4, #+2]
173 USART_ITConfig(USART1,USART_IT_PE ,ENABLE);//校验错误中断
\ 000000B4 0122 MOVS R2,#+1
\ 000000B6 2821 MOVS R1,#+40
\ 000000B8 .... LDR.N R0,??DataTable54 ;; 0x40013800
\ 000000BA ........ BL USART_ITConfig
174 USART_ITConfig(USART1,USART_IT_TC ,DISABLE);//发送完成中断使能
\ 000000BE 0022 MOVS R2,#+0
\ 000000C0 .... LDR.N R1,??DataTable38 ;; 0x626
\ 000000C2 .... LDR.N R0,??DataTable54 ;; 0x40013800
\ 000000C4 ........ BL USART_ITConfig
175 USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);//接收非空使能
\ 000000C8 0022 MOVS R2,#+0
\ 000000CA .... LDR.N R1,??DataTable40 ;; 0x525
\ 000000CC .... LDR.N R0,??DataTable54 ;; 0x40013800
\ 000000CE ........ BL USART_ITConfig
176 USART_ITConfig(USART1,USART_IT_IDLE,DISABLE);
\ 000000D2 0022 MOVS R2,#+0
\ 000000D4 .... LDR.N R1,??DataTable42 ;; 0x424
\ 000000D6 .... LDR.N R0,??DataTable54 ;; 0x40013800
\ 000000D8 ........ BL USART_ITConfig
177 USART_ITConfig(USART1,USART_IT_LBD ,DISABLE);
\ 000000DC 0022 MOVS R2,#+0
\ 000000DE .... LDR.N R1,??DataTable44 ;; 0x846
\ 000000E0 .... LDR.N R0,??DataTable54 ;; 0x40013800
\ 000000E2 ........ BL USART_ITConfig
178 USART_ITConfig(USART1,USART_IT_CTS ,DISABLE);
\ 000000E6 0022 MOVS R2,#+0
\ 000000E8 .... LDR.N R1,??DataTable46 ;; 0x96a
\ 000000EA .... LDR.N R0,??DataTable54 ;; 0x40013800
\ 000000EC ........ BL USART_ITConfig
179 USART_ITConfig(USART1,USART_IT_ERR ,DISABLE);
\ 000000F0 0022 MOVS R2,#+0
\ 000000F2 6021 MOVS R1,#+96
\ 000000F4 .... LDR.N R0,??DataTable54 ;; 0x40013800
\ 000000F6 ........ BL USART_ITConfig
180 FifoPop(pUart1TxFifo,USART1);
\ 000000FA .... LDR.N R1,??DataTable54 ;; 0x40013800
\ 000000FC .... LDR.N R0,??DataTable50 ;; pUart1TxFifo
\ 000000FE 0068 LDR R0,[R0, #+0]
\ 00000100 ........ BL FifoPop
181 USART1_485TXD;
\ 00000104 .... LDR.N R0,??DataTable52 ;; 0x4001080c
\ 00000106 0068 LDR R0,[R0, #+0]
\ 00000108 0821 MOVS R1,#+8
\ 0000010A 8843 BICS R0,R0,R1
\ 0000010C .... LDR.N R1,??DataTable52 ;; 0x4001080c
\ 0000010E 0860 STR R0,[R1, #+0]
182 USART_ITConfig(USART1,USART_IT_TXE,ENABLE);
\ 00000110 0122 MOVS R2,#+1
\ 00000112 .... LDR.N R1,??DataTable53 ;; 0x727
\ 00000114 .... LDR.N R0,??DataTable54 ;; 0x40013800
\ 00000116 ........ BL USART_ITConfig
183 //USART_Cmd(USART1, ENABLE);
184
185 return FALSE;
\ 0000011A 0020 MOVS R0,#+0
\ ??UsartTXD_2:
\ 0000011C 01B0 ADD SP,SP,#+4
\ 0000011E F0BD POP {R4-R7,PC} ;; return
186 }
187
188 ///////////////////////////////////////////////
189 ///////////////////////////////////////////////
\ In section .XML, align 4, keep-with-next
190 void Uart1Init()
191 {
\ Uart1Init:
\ 00000000 00B5 PUSH {LR}
\ 00000002 89B0 SUB SP,SP,#+36
192 USART_Cmd(USART1, DISABLE);
\ 00000004 0021 MOVS R1,#+0
\ 00000006 5548 LDR.N R0,??Uart1Init_0 ;; 0x40013800
\ 00000008 ........ BL USART_Cmd
193 USART_InitTypeDef UART_InitStructure;
194 NVIC_InitTypeDef NVIC_InitStructure;
195 GPIO_InitTypeDef GPIO_InitStructure;
196 pUart1TxFifo=&Uart1TxFifo;
\ 0000000C 5448 LDR.N R0,??Uart1Init_0+0x4 ;; pUart1TxFifo
\ 0000000E 5549 LDR.N R1,??Uart1Init_0+0x8 ;; Uart1TxFifo
\ 00000010 0160 STR R1,[R0, #+0]
197 pUart1RxFifo=&Uart1RxFifo;
\ 00000012 5548 LDR.N R0,??Uart1Init_0+0xC ;; pUart1RxFifo
\ 00000014 5549 LDR.N R1,??Uart1Init_0+0x10 ;; Uart1RxFifo
\ 00000016 0160 STR R1,[R0, #+0]
198 UART_InitStructure.USART_BaudRate = BAUD_TAB[_YT._Rate&7];
\ 00000018 5548 LDR.N R0,??Uart1Init_0+0x14 ;; _YT + 2
\ 0000001A 0088 LDRH R0,[R0, #+0]
\ 0000001C 4007 LSLS R0,R0,#+29 ;; ZeroExtS R0,R0,#+29,#+29
\ 0000001E 400F LSRS R0,R0,#+29
\ 00000020 0221 MOVS R1,#+2
\ 00000022 4843 MULS R0,R1,R0
\ 00000024 5349 LDR.N R1,??Uart1Init_0+0x18 ;; BAUD_TAB
\ 00000026 085A LDRH R0,[R1, R0]
\ 00000028 0290 STR R0,[SP, #+8]
199 UART_InitStructure.USART_WordLength = USART_WordLength_8b;
\ 0000002A 0020 MOVS R0,#+0
\ 0000002C ADF80C00 STRH R0,[SP, #+12]
200 UART_InitStructure.USART_StopBits = USART_StopBits_1;
\ 00000030 0020 MOVS R0,#+0
\ 00000032 ADF80E00 STRH R0,[SP, #+14]
201 UART_InitStructure.USART_Parity = USART_Parity_No ;
\ 00000036 0020 MOVS R0,#+0
\ 00000038 ADF81000 STRH R0,[SP, #+16]
202 UART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
\ 0000003C 0020 MOVS R0,#+0
\ 0000003E ADF81200 STRH R0,[SP, #+18]
203 UART_InitStructure.USART_Mode = USART_Mode_Rx|USART_Mode_Tx ;
\ 00000042 0C20 MOVS R0,#+12
\ 00000044 ADF81400 STRH R0,[SP, #+20]
204 UART_InitStructure.USART_Clock = USART_Clock_Disable;
\ 00000048 0020 MOVS R0,#+0
\ 0000004A ADF81600 STRH R0,[SP, #+22]
205 UART_InitStructure.USART_CPOL = USART_CPOL_Low;
\ 0000004E 0020 MOVS R0,#+0
\ 00000050 ADF81800 STRH R0,[SP, #+24]
206 UART_InitStructure.USART_CPHA = USART_CPHA_1Edge;
\ 00000054 0020 MOVS R0,#+0
\ 00000056 ADF81A00 STRH R0,[SP, #+26]
207 UART_InitStructure.USART_LastBit = USART_LastBit_Disable;
\ 0000005A 0020 MOVS R0,#+0
\ 0000005C ADF81C00 STRH R0,[SP, #+28]
208
209 UART_InitStructure.USART_Parity = USART_Parity_No;
\ 00000060 0020 MOVS R0,#+0
\ 00000062 ADF81000 STRH R0,[SP, #+16]
210 USART_DeInit(USART1);
\ 00000066 3D48 LDR.N R0,??Uart1Init_0 ;; 0x40013800
\ 00000068 ........ BL USART_DeInit
211 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
\ 0000006C 0121 MOVS R1,#+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -