📄 stm32f10x_systick.lst
字号:
112 * Description : Enables or disables the SysTick Interrupt.
113 * Input : - NewState: new state of the SysTick Interrupt.
114 * This parameter can be: ENABLE or DISABLE.
115 * Output : None
116 * Return : None
117 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
118 void SysTick_ITConfig(FunctionalState NewState)
119 {
120 /* Check the parameters */
121 assert_param(IS_FUNCTIONAL_STATE(NewState));
122
123 if (NewState != DISABLE)
\ SysTick_ITConfig:
\ 00000000 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000002 0028 CMP R0,#+0
\ 00000004 06D0 BEQ.N ??SysTick_ITConfig_0
124 {
125 SysTick->CTRL |= CTRL_TICKINT_Set;
\ 00000006 .... LDR.N R1,??DataTable14 ;; 0xe000e010
\ 00000008 0968 LDR R1,[R1, #+0]
\ 0000000A 51F00201 ORRS R1,R1,#0x2
\ 0000000E .... LDR.N R2,??DataTable14 ;; 0xe000e010
\ 00000010 1160 STR R1,[R2, #+0]
\ 00000012 05E0 B.N ??SysTick_ITConfig_1
126 }
127 else
128 {
129 SysTick->CTRL &= CTRL_TICKINT_Reset;
\ ??SysTick_ITConfig_0:
\ 00000014 .... LDR.N R1,??DataTable14 ;; 0xe000e010
\ 00000016 0968 LDR R1,[R1, #+0]
\ 00000018 0222 MOVS R2,#+2
\ 0000001A 9143 BICS R1,R1,R2
\ 0000001C .... LDR.N R2,??DataTable14 ;; 0xe000e010
\ 0000001E 1160 STR R1,[R2, #+0]
130 }
131 }
\ ??SysTick_ITConfig_1:
\ 00000020 7047 BX LR ;; return
132
133 /*******************************************************************************
134 * Function Name : SysTick_GetCounter
135 * Description : Gets SysTick counter value.
136 * Input : None
137 * Output : None
138 * Return : SysTick current value
139 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
140 u32 SysTick_GetCounter(void)
141 {
142 return(SysTick->VAL);
\ SysTick_GetCounter:
\ 00000000 .... LDR.N R0,??DataTable13 ;; 0xe000e018
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 7047 BX LR ;; return
143 }
144
145 /*******************************************************************************
146 * Function Name : SysTick_GetFlagStatus
147 * Description : Checks whether the specified SysTick flag is set or not.
148 * Input : - SysTick_FLAG: specifies the flag to check.
149 * This parameter can be one of the following values:
150 * - SysTick_FLAG_COUNT
151 * - SysTick_FLAG_SKEW
152 * - SysTick_FLAG_NOREF
153 * Output : None
154 * Return : None
155 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
156 FlagStatus SysTick_GetFlagStatus(u8 SysTick_FLAG)
157 {
\ SysTick_GetFlagStatus:
\ 00000000 11B4 PUSH {R0,R4}
\ 00000002 0100 MOVS R1,R0
158 u32 tmp = 0;
\ 00000004 0024 MOVS R4,#+0
\ 00000006 2200 MOVS R2,R4
159 u32 statusreg = 0;
\ 00000008 0024 MOVS R4,#+0
\ 0000000A 2300 MOVS R3,R4
160 FlagStatus bitstatus = RESET;
\ 0000000C 0024 MOVS R4,#+0
\ 0000000E 2000 MOVS R0,R4
161
162 /* Check the parameters */
163 assert_param(IS_SYSTICK_FLAG(SysTick_FLAG));
164
165 /* Get the SysTick register index */
166 tmp = SysTick_FLAG >> 5;
\ 00000010 C9B2 UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
\ 00000012 4C09 LSRS R4,R1,#+5
\ 00000014 E4B2 UXTB R4,R4 ;; ZeroExtS R4,R4,#+24,#+24
\ 00000016 2200 MOVS R2,R4
167
168 if (tmp == 1) /* The flag to check is in CTRL register */
\ 00000018 012A CMP R2,#+1
\ 0000001A 03D1 BNE.N ??SysTick_GetFlagStatus_0
169 {
170 statusreg = SysTick->CTRL;
\ 0000001C .... LDR.N R4,??DataTable14 ;; 0xe000e010
\ 0000001E 2468 LDR R4,[R4, #+0]
\ 00000020 2300 MOVS R3,R4
\ 00000022 02E0 B.N ??SysTick_GetFlagStatus_1
171 }
172 else /* The flag to check is in CALIB register */
173 {
174 statusreg = SysTick->CALIB;
\ ??SysTick_GetFlagStatus_0:
\ 00000024 094C LDR.N R4,??SysTick_GetFlagStatus_2 ;; 0xe000e01c
\ 00000026 2468 LDR R4,[R4, #+0]
\ 00000028 2300 MOVS R3,R4
175 }
176
177 /* Get the flag position */
178 tmp = SysTick_FLAG & FLAG_Mask;
\ ??SysTick_GetFlagStatus_1:
\ 0000002A C9B2 UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
\ 0000002C CC06 LSLS R4,R1,#+27 ;; ZeroExtS R4,R1,#+27,#+27
\ 0000002E E40E LSRS R4,R4,#+27
\ 00000030 2200 MOVS R2,R4
179
180 if ((statusreg & ((u32)1 << tmp)) != (u32)RESET)
\ 00000032 0124 MOVS R4,#+1
\ 00000034 9440 LSLS R4,R4,R2
\ 00000036 1C40 ANDS R4,R4,R3
\ 00000038 641E SUBS R4,R4,#+1
\ 0000003A A441 SBCS R4,R4,R4
\ 0000003C E443 MVNS R4,R4
\ 0000003E E40F LSRS R4,R4,#+31
\ 00000040 2000 MOVS R0,R4
181 {
182 bitstatus = SET;
183 }
184 else
185 {
186 bitstatus = RESET;
187 }
188 return bitstatus;
\ 00000042 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000044 01B0 ADD SP,SP,#+4
\ 00000046 10BC POP {R4}
\ 00000048 7047 BX LR ;; return
\ 0000004A 00BF Nop
\ ??SysTick_GetFlagStatus_2:
\ 0000004C 1CE000E0 DC32 0xe000e01c
189 }
\ In section .XML, align 4, keep-with-next
\ ??DataTable13:
\ 00000000 18E000E0 DC32 0xe000e018
\ In section .XML, align 4, keep-with-next
\ ??DataTable14:
\ 00000000 10E000E0 DC32 0xe000e010
190
191 /******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/
Maximum stack usage in bytes:
Function .cstack
-------- -------
SysTick_CLKSourceConfig 0
SysTick_CounterCmd 0
SysTick_GetCounter 0
SysTick_GetFlagStatus 8
SysTick_ITConfig 0
SysTick_SetReload 0
Section sizes:
Function/Label Bytes
-------------- -----
SysTick_CLKSourceConfig 32
SysTick_SetReload 12
SysTick_CounterCmd 44
SysTick_ITConfig 34
SysTick_GetCounter 6
SysTick_GetFlagStatus 80
??DataTable13 4
??DataTable14 4
216 bytes in section .XML
216 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -