📄 stm32f10x_gpio.lst
字号:
159 .loc 1 242 0
160 00a2 08BF it eq
161 00a4 2161 streq r1, [r4, #16]
162 .LVL21:
163 .L8:
164 .loc 1 221 0
165 00a6 0CF1010C add ip, ip, #1
166 00aa BCF1080F cmp ip, #8
167 00ae DED1 bne .L10
243:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
244:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
245:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
246:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** GPIOx->CRH = tmpreg;
168 .loc 1 246 0
169 00b0 6560 str r5, [r4, #4]
170 .LVL22:
171 .L11:
247:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
248:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
172 .loc 1 248 0
173 00b2 70BD pop {r4, r5, r6, pc}
174 .LFE28:
176 .section .text.GPIO_StructInit,"ax",%progbits
177 .align 2
178 .global GPIO_StructInit
179 .thumb
180 .thumb_func
182 GPIO_StructInit:
183 .LFB29:
249:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c ****
250:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** /**
251:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @brief Fills each GPIO_InitStruct member with its default value.
252:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @param GPIO_InitStruct : pointer to a GPIO_InitTypeDef structure
253:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * which will be initialized.
254:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @retval : None
255:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** */
256:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct)
257:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** {
184 .loc 1 257 0
185 @ args = 0, pretend = 0, frame = 0
186 @ frame_needed = 0, uses_anonymous_args = 0
187 @ link register save eliminated.
188 .LVL23:
258:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** /* Reset GPIO init structure parameters values */
259:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** GPIO_InitStruct->GPIO_Pin = GPIO_Pin_All;
189 .loc 1 259 0
190 0000 4FF0FF33 mov r3, #-1 @ movhi
191 0004 0380 strh r3, [r0, #0] @ movhi
260:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** GPIO_InitStruct->GPIO_Speed = GPIO_Speed_2MHz;
192 .loc 1 260 0
193 0006 0223 movs r3, #2
194 0008 8370 strb r3, [r0, #2]
261:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** GPIO_InitStruct->GPIO_Mode = GPIO_Mode_IN_FLOATING;
195 .loc 1 261 0
196 000a DB18 adds r3, r3, r3
197 000c C370 strb r3, [r0, #3]
262:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
198 .loc 1 262 0
199 000e 7047 bx lr
200 .LFE29:
202 .section .text.GPIO_ReadInputDataBit,"ax",%progbits
203 .align 2
204 .global GPIO_ReadInputDataBit
205 .thumb
206 .thumb_func
208 GPIO_ReadInputDataBit:
209 .LFB30:
263:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c ****
264:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** /**
265:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @brief Reads the specified input port pin.
266:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @param GPIOx: where x can be (A..G) to select the GPIO peripheral.
267:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @param GPIO_Pin: specifies the port bit to read.
268:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * This parameter can be GPIO_Pin_x where x can be (0..15).
269:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @retval : The input port pin value.
270:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** */
271:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
272:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** {
210 .loc 1 272 0
211 @ args = 0, pretend = 0, frame = 0
212 @ frame_needed = 0, uses_anonymous_args = 0
213 @ link register save eliminated.
214 .LVL24:
273:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** uint8_t bitstatus = 0x00;
274:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c ****
275:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** /* Check the parameters */
276:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
277:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** assert_param(IS_GET_GPIO_PIN(GPIO_Pin));
278:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c ****
279:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)Bit_RESET)
215 .loc 1 279 0
216 0000 8368 ldr r3, [r0, #8]
217 0002 1942 tst r1, r3
280:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** {
281:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** bitstatus = (uint8_t)Bit_SET;
282:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
283:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** else
284:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** {
285:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** bitstatus = (uint8_t)Bit_RESET;
286:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
287:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** return bitstatus;
288:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
218 .loc 1 288 0
219 0004 0CBF ite eq
220 0006 0020 moveq r0, #0
221 0008 0120 movne r0, #1
222 .LVL25:
223 000a 7047 bx lr
224 .LFE30:
226 .section .text.GPIO_ReadInputData,"ax",%progbits
227 .align 2
228 .global GPIO_ReadInputData
229 .thumb
230 .thumb_func
232 GPIO_ReadInputData:
233 .LFB31:
289:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c ****
290:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** /**
291:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @brief Reads the specified GPIO input data port.
292:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @param GPIOx: where x can be (A..G) to select the GPIO peripheral.
293:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @retval : GPIO input data port value.
294:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** */
295:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx)
296:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** {
234 .loc 1 296 0
235 @ args = 0, pretend = 0, frame = 0
236 @ frame_needed = 0, uses_anonymous_args = 0
237 @ link register save eliminated.
238 .LVL26:
297:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** /* Check the parameters */
298:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
299:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c ****
300:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** return ((uint16_t)GPIOx->IDR);
239 .loc 1 300 0
240 0000 8068 ldr r0, [r0, #8]
241 .LVL27:
301:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
242 .loc 1 301 0
243 0002 80B2 uxth r0, r0
244 0004 7047 bx lr
245 .LFE31:
247 0006 C046 .section .text.GPIO_ReadOutputDataBit,"ax",%progbits
248 .align 2
249 .global GPIO_ReadOutputDataBit
250 .thumb
251 .thumb_func
253 GPIO_ReadOutputDataBit:
254 .LFB32:
302:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c ****
303:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** /**
304:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @brief Reads the specified output data port bit.
305:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @param GPIOx: where x can be (A..G) to select the GPIO peripheral.
306:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @param GPIO_Pin: specifies the port bit to read.
307:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * This parameter can be GPIO_Pin_x where x can be (0..15).
308:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** * @retval : The output port pin value.
309:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** */
310:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
311:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** {
255 .loc 1 311 0
256 @ args = 0, pretend = 0, frame = 0
257 @ frame_needed = 0, uses_anonymous_args = 0
258 @ link register save eliminated.
259 .LVL28:
312:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** uint8_t bitstatus = 0x00;
313:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** /* Check the parameters */
314:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
315:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** assert_param(IS_GET_GPIO_PIN(GPIO_Pin));
316:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c ****
317:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** if ((GPIOx->ODR & GPIO_Pin) != (uint32_t)Bit_RESET)
260 .loc 1 317 0
261 0000 C368 ldr r3, [r0, #12]
262 0002 1942 tst r1, r3
318:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** {
319:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** bitstatus = (uint8_t)Bit_SET;
320:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
321:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** else
322:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** {
323:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** bitstatus = (uint8_t)Bit_RESET;
324:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
325:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** return bitstatus;
326:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** }
263 .loc 1 326 0
264 0004 0CBF ite eq
265 0006 0020 moveq r0, #0
266 0008 0120 movne r0, #1
267 .LVL29:
268 000a 7047 bx lr
269 .LFE32:
271 .section .text.GPIO_ReadOutputData,"ax",%progbits
272 .align 2
273 .global GPIO_ReadOutputData
274 .thumb
275 .thumb_func
277 GPIO_ReadOutputData:
278 .LFB33:
327:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c ****
328:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c **** /**
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -