📄 stm32f10x_exti.lst
字号:
86 .loc 1 116 0
87 001c 0279 ldrb r2, [r0, #4] @ zero_extendqisi2
88 001e 02F18042 add r2, r2, #1073741824
89 0022 02F58232 add r2, r2, #66560
90 0026 1368 ldr r3, [r2, #0]
91 0028 2343 orrs r3, r3, r4
92 002a 1360 str r3, [r2, #0]
117:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** /* Clear Rising Falling edge configuration */
118:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** EXTI->RTSR &= ~EXTI_InitStruct->EXTI_Line;
93 .loc 1 118 0
94 002c 0468 ldr r4, [r0, #0]
95 002e 8B68 ldr r3, [r1, #8]
96 0030 E243 mvns r2, r4
97 0032 02EA0303 and r3, r2, r3
98 0036 8B60 str r3, [r1, #8]
119:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** EXTI->FTSR &= ~EXTI_InitStruct->EXTI_Line;
99 .loc 1 119 0
100 0038 CB68 ldr r3, [r1, #12]
101 003a 1A40 ands r2, r2, r3
102 003c CA60 str r2, [r1, #12]
120:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c ****
121:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** /* Select the trigger for the selected external interrupts */
122:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** if (EXTI_InitStruct->EXTI_Trigger == EXTI_Trigger_Rising_Falling)
103 .loc 1 122 0
104 003e 4079 ldrb r0, [r0, #5] @ zero_extendqisi2
105 .LVL1:
106 0040 1028 cmp r0, #16
107 0042 06D1 bne .L7
123:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** {
124:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** /* Rising Falling edge */
125:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** EXTI->RTSR |= EXTI_InitStruct->EXTI_Line;
108 .loc 1 125 0
109 0044 8B68 ldr r3, [r1, #8]
110 0046 2343 orrs r3, r3, r4
111 0048 8B60 str r3, [r1, #8]
126:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** EXTI->FTSR |= EXTI_InitStruct->EXTI_Line;
112 .loc 1 126 0
113 004a CB68 ldr r3, [r1, #12]
114 004c 2343 orrs r3, r3, r4
115 004e CB60 str r3, [r1, #12]
116 0050 0FE0 b .L9
117 .L7:
127:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** }
128:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** else
129:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** {
130:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** *(__IO uint32_t *)(EXTI_BASE + (uint32_t)EXTI_InitStruct->EXTI_Trigger)|= EXTI_InitStruct->EX
118 .loc 1 130 0
119 0052 00F18042 add r2, r0, #1073741824
120 0056 02F58232 add r2, r2, #66560
121 005a 1368 ldr r3, [r2, #0]
122 005c 2343 orrs r3, r3, r4
123 005e 07E0 b .L10
124 .LVL2:
125 .L6:
131:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** }
132:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** }
133:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** else
134:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** {
135:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** /* Disable the selected external lines */
136:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** *(__IO uint32_t *)(EXTI_BASE + (uint32_t)EXTI_InitStruct->EXTI_Mode)&= ~EXTI_InitStruct->EXTI_L
126 .loc 1 136 0
127 0060 0279 ldrb r2, [r0, #4] @ zero_extendqisi2
128 0062 02F18042 add r2, r2, #1073741824
129 0066 02F58232 add r2, r2, #66560
130 006a 1368 ldr r3, [r2, #0]
131 006c 23EA0403 bic r3, r3, r4
132 .L10:
133 0070 1360 str r3, [r2, #0]
134 .L9:
137:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** }
138:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** }
135 .loc 1 138 0
136 0072 10BD pop {r4, pc}
137 .L12:
138 .align 2
139 .L11:
140 0074 00040140 .word 1073808384
141 .LFE27:
143 .section .text.EXTI_StructInit,"ax",%progbits
144 .align 2
145 .global EXTI_StructInit
146 .thumb
147 .thumb_func
149 EXTI_StructInit:
150 .LFB28:
139:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c ****
140:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** /**
141:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * @brief Fills each EXTI_InitStruct member with its reset value.
142:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * @param EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure
143:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * which will be initialized.
144:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * @retval : None
145:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** */
146:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct)
147:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** {
151 .loc 1 147 0
152 @ args = 0, pretend = 0, frame = 0
153 @ frame_needed = 0, uses_anonymous_args = 0
154 @ link register save eliminated.
155 .LVL3:
148:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** EXTI_InitStruct->EXTI_Line = EXTI_LineNone;
156 .loc 1 148 0
157 0000 0022 movs r2, #0
149:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** EXTI_InitStruct->EXTI_Mode = EXTI_Mode_Interrupt;
150:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** EXTI_InitStruct->EXTI_Trigger = EXTI_Trigger_Falling;
158 .loc 1 150 0
159 0002 0C23 movs r3, #12
160 .loc 1 148 0
161 0004 0260 str r2, [r0, #0]
162 .loc 1 149 0
163 0006 0271 strb r2, [r0, #4]
164 .loc 1 150 0
165 0008 4371 strb r3, [r0, #5]
151:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** EXTI_InitStruct->EXTI_LineCmd = DISABLE;
166 .loc 1 151 0
167 000a 8271 strb r2, [r0, #6]
152:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** }
168 .loc 1 152 0
169 000c 7047 bx lr
170 .LFE28:
172 000e C046 .section .text.EXTI_GenerateSWInterrupt,"ax",%progbits
173 .align 2
174 .global EXTI_GenerateSWInterrupt
175 .thumb
176 .thumb_func
178 EXTI_GenerateSWInterrupt:
179 .LFB29:
153:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c ****
154:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** /**
155:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * @brief Generates a Software interrupt.
156:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * @param EXTI_Line: specifies the EXTI lines to be enabled or
157:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * disabled.
158:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * This parameter can be any combination of EXTI_Linex where
159:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * x can be (0..18).
160:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * @retval : None
161:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** */
162:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line)
163:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** {
180 .loc 1 163 0
181 @ args = 0, pretend = 0, frame = 0
182 @ frame_needed = 0, uses_anonymous_args = 0
183 @ link register save eliminated.
184 .LVL4:
164:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** /* Check the parameters */
165:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** assert_param(IS_EXTI_LINE(EXTI_Line));
166:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c ****
167:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** EXTI->SWIER |= EXTI_Line;
185 .loc 1 167 0
186 0000 024B ldr r3, .L17
187 0002 1A69 ldr r2, [r3, #16]
188 0004 1043 orrs r0, r0, r2
189 .LVL5:
190 0006 1861 str r0, [r3, #16]
168:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** }
191 .loc 1 168 0
192 0008 7047 bx lr
193 .L18:
194 000a C046 .align 2
195 .L17:
196 000c 00040140 .word 1073808384
197 .LFE29:
199 .section .text.EXTI_GetFlagStatus,"ax",%progbits
200 .align 2
201 .global EXTI_GetFlagStatus
202 .thumb
203 .thumb_func
205 EXTI_GetFlagStatus:
206 .LFB30:
169:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c ****
170:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** /**
171:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * @brief Checks whether the specified EXTI line flag is set or not.
172:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * @param EXTI_Line: specifies the EXTI line flag to check.
173:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * This parameter can be:
174:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * @arg EXTI_Linex: External interrupt line x where x(0..18)
175:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** * @retval : The new state of EXTI_Line (SET or RESET).
176:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** */
177:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line)
178:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** {
207 .loc 1 178 0
208 @ args = 0, pretend = 0, frame = 0
209 @ frame_needed = 0, uses_anonymous_args = 0
210 @ link register save eliminated.
211 .LVL6:
179:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** FlagStatus bitstatus = RESET;
180:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** /* Check the parameters */
181:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** assert_param(IS_GET_EXTI_LINE(EXTI_Line));
182:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c ****
183:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c **** if ((EXTI->PR & EXTI_Line) != (uint32_t)RESET)
212 .loc 1 183 0
213 0000 034B ldr r3, .L21
214 0002 5B69 ldr r3, [r3, #20]
215 0004 1842 tst r0, r3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -