📄 stm32f10x_systick.lst
字号:
\ ??SysTick_CounterCmd_0:
\ 00000010 7FF00102 MVNS R2,#+1
\ 00000014 9042 CMP R0,R2
\ 00000016 03D1 BNE.N ??SysTick_CounterCmd_1
97 {
98 SysTick->CTRL &= SysTick_Counter_Disable;
\ 00000018 0868 LDR R0,[R1, #+0]
\ 0000001A 0240 ANDS R2,R2,R0
\ 0000001C 0A60 STR R2,[R1, #+0]
\ 0000001E 7047 BX LR
99 }
100 else /* SysTick_Counter == SysTick_Counter_Clear */
101 {
102 SysTick->VAL = SysTick_Counter_Clear;
\ ??SysTick_CounterCmd_1:
\ 00000020 .... LDR.N R0,??DataTable4 ;; 0xffffffffe000e018
\ 00000022 0021 MOVS R1,#+0
\ 00000024 0160 STR R1,[R0, #+0]
103 }
104 }
\ 00000026 7047 BX LR ;; return
105
106 /*******************************************************************************
107 * Function Name : SysTick_ITConfig
108 * Description : Enables or disables the SysTick Interrupt.
109 * Input : - NewState: new state of the SysTick Interrupt.
110 * This parameter can be: ENABLE or DISABLE.
111 * Output : None
112 * Return : None
113 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
114 void SysTick_ITConfig(FunctionalState NewState)
115 {
116 /* Check the parameters */
117 assert_param(IS_FUNCTIONAL_STATE(NewState));
118
119 if (NewState != DISABLE)
\ SysTick_ITConfig:
\ 00000000 .... LDR.N R1,??DataTable5 ;; 0xffffffffe000e010
\ 00000002 0028 CMP R0,#+0
\ 00000004 0868 LDR R0,[R1, #+0]
\ 00000006 03D0 BEQ.N ??SysTick_ITConfig_0
120 {
121 SysTick->CTRL |= CTRL_TICKINT_Set;
\ 00000008 50F00200 ORRS R0,R0,#0x2
\ 0000000C 0860 STR R0,[R1, #+0]
\ 0000000E 7047 BX LR
122 }
123 else
124 {
125 SysTick->CTRL &= CTRL_TICKINT_Reset;
\ ??SysTick_ITConfig_0:
\ 00000010 0222 MOVS R2,#+2
\ 00000012 9043 BICS R0,R0,R2
\ 00000014 0860 STR R0,[R1, #+0]
126 }
127 }
\ 00000016 7047 BX LR ;; return
128
129 /*******************************************************************************
130 * Function Name : SysTick_GetCounter
131 * Description : Gets SysTick counter value.
132 * Input : None
133 * Output : None
134 * Return : SysTick current value
135 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
136 u32 SysTick_GetCounter(void)
137 {
138 return(SysTick->VAL);
\ SysTick_GetCounter:
\ 00000000 .... LDR.N R0,??DataTable4 ;; 0xffffffffe000e018
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 7047 BX LR ;; return
139 }
140
141 /*******************************************************************************
142 * Function Name : SysTick_GetFlagStatus
143 * Description : Checks whether the specified SysTick flag is set or not.
144 * Input : - SysTick_FLAG: specifies the flag to check.
145 * This parameter can be one of the following values:
146 * - SysTick_FLAG_COUNT
147 * - SysTick_FLAG_SKEW
148 * - SysTick_FLAG_NOREF
149 * Output : None
150 * Return : None
151 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
152 FlagStatus SysTick_GetFlagStatus(u8 SysTick_FLAG)
153 {
154 u32 statusreg = 0, tmp = 0 ;
155 FlagStatus bitstatus = RESET;
156
157 /* Check the parameters */
158 assert_param(IS_SYSTICK_FLAG(SysTick_FLAG));
159
160 /* Get the SysTick register index */
161 tmp = SysTick_FLAG >> 3;
162
163 if (tmp == 2) /* The flag to check is in CTRL register */
\ SysTick_GetFlagStatus:
\ 00000000 0100 MOVS R1,R0
\ 00000002 C908 LSRS R1,R1,#+3
\ 00000004 0229 CMP R1,#+2
\ 00000006 02D1 BNE.N ??SysTick_GetFlagStatus_0
164 {
165 statusreg = SysTick->CTRL;
\ 00000008 .... LDR.N R1,??DataTable5 ;; 0xffffffffe000e010
\ 0000000A 0968 LDR R1,[R1, #+0]
\ 0000000C 01E0 B.N ??SysTick_GetFlagStatus_1
166 }
167 else /* The flag to check is in CALIB register */
168 {
169 statusreg = SysTick->CALIB;
\ ??SysTick_GetFlagStatus_0:
\ 0000000E 0549 LDR.N R1,??SysTick_GetFlagStatus_2 ;; 0xffffffffe000e01c
\ 00000010 0968 LDR R1,[R1, #+0]
170 }
171
172 if ((statusreg & ((u32)1 << SysTick_FLAG)) != (u32)RESET)
\ ??SysTick_GetFlagStatus_1:
\ 00000012 0122 MOVS R2,#+1
\ 00000014 8240 LSLS R2,R2,R0
\ 00000016 0A40 ANDS R2,R2,R1
\ 00000018 01D0 BEQ.N ??SysTick_GetFlagStatus_3
173 {
174 bitstatus = SET;
\ 0000001A 0120 MOVS R0,#+1
\ 0000001C 7047 BX LR
175 }
176 else
177 {
178 bitstatus = RESET;
\ ??SysTick_GetFlagStatus_3:
\ 0000001E 0020 MOVS R0,#+0
179 }
180 return bitstatus;
\ 00000020 7047 BX LR ;; return
\ 00000022 00BF Nop
\ ??SysTick_GetFlagStatus_2:
\ 00000024 1CE000E0 DC32 0xffffffffe000e01c
181 }
\ In segment CODE, align 4, keep-with-next
\ ??DataTable4:
\ 00000000 18E000E0 DC32 0xffffffffe000e018
\ In segment CODE, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 10E000E0 DC32 0xffffffffe000e010
182
183 /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
Maximum stack usage in bytes:
Function CSTACK
-------- ------
SysTick_CLKSourceConfig 0
SysTick_CounterCmd 0
SysTick_GetCounter 0
SysTick_GetFlagStatus 0
SysTick_ITConfig 0
SysTick_SetReload 0
Segment part sizes:
Function/Label Bytes
-------------- -----
SysTick_CLKSourceConfig 24
SysTick_SetReload 12
SysTick_CounterCmd 40
SysTick_ITConfig 24
SysTick_GetCounter 6
SysTick_GetFlagStatus 40
??DataTable4 4
??DataTable5 4
154 bytes in segment CODE
154 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -