📄 stm32f10x_systick.s
字号:
///////////////////////////////////////////////////////////////////////////////
// /
// 30/Jul/2008 14:37:40 /
// IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION /
// Copyright 1999-2007 IAR Systems. All rights reserved. /
// /
// Cpu mode = thumb /
// Endian = little /
// Source file = E:\library\src\stm32f10x_systick.c /
// Command line = E:\library\src\stm32f10x_systick.c -D EMB_FLASH -lCN /
// E:\ELE\yten\pro\Debug\List\ -lb /
// E:\ELE\yten\pro\Debug\List\ -o /
// E:\ELE\yten\pro\Debug\Obj\ --no_cse --no_unroll /
// --no_inline --no_code_motion --no_tbaa --no_clustering /
// --no_scheduling --debug --endian little --cpu /
// Cortex-M3 -e --fpu None --dlib_config "C:\Program /
// Files\IAR Systems\Embedded Workbench 5.0 /
// Evaluation\ARM\INC\DLib_Config_Normal.h" -I /
// E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I /
// "C:\Program Files\IAR Systems\Embedded Workbench 5.0 /
// Evaluation\ARM\INC\" --section .text=.XML -On /
// List file = E:\ELE\yten\pro\Debug\List\stm32f10x_systick.s /
// /
// /
///////////////////////////////////////////////////////////////////////////////
NAME stm32f10x_systick
PUBLIC SysTick_CLKSourceConfig
PUBLIC SysTick_CounterCmd
PUBLIC SysTick_GetCounter
PUBLIC SysTick_GetFlagStatus
PUBLIC SysTick_ITConfig
PUBLIC SysTick_SetReload
SECTION `.XML`:CODE:NOROOT(2)
THUMB
SysTick_CLKSourceConfig:
CMP R0,#+4
BNE.N ??SysTick_CLKSourceConfig_0
LDR.N R1,??DataTable14 ;; 0xe000e010
LDR R1,[R1, #+0]
ORRS R1,R1,#0x4
LDR.N R2,??DataTable14 ;; 0xe000e010
STR R1,[R2, #+0]
B.N ??SysTick_CLKSourceConfig_1
??SysTick_CLKSourceConfig_0:
LDR.N R1,??DataTable14 ;; 0xe000e010
LDR R1,[R1, #+0]
MOVS R2,#+4
BICS R1,R1,R2
LDR.N R2,??DataTable14 ;; 0xe000e010
STR R1,[R2, #+0]
??SysTick_CLKSourceConfig_1:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
SysTick_SetReload:
LDR.N R1,??SysTick_SetReload_0 ;; 0xe000e014
STR R0,[R1, #+0]
BX LR ;; return
Nop
DATA
??SysTick_SetReload_0:
DC32 0xe000e014
SECTION `.XML`:CODE:NOROOT(2)
THUMB
SysTick_CounterCmd:
CMP R0,#+0
BNE.N ??SysTick_CounterCmd_0
LDR.N R1,??DataTable13 ;; 0xe000e018
MOVS R2,#+0
STR R2,[R1, #+0]
B.N ??SysTick_CounterCmd_1
??SysTick_CounterCmd_0:
CMP R0,#+1
BNE.N ??SysTick_CounterCmd_2
LDR.N R1,??DataTable14 ;; 0xe000e010
LDR R1,[R1, #+0]
ORRS R1,R1,#0x1
LDR.N R2,??DataTable14 ;; 0xe000e010
STR R1,[R2, #+0]
B.N ??SysTick_CounterCmd_1
??SysTick_CounterCmd_2:
LDR.N R1,??DataTable14 ;; 0xe000e010
LDR R1,[R1, #+0]
MOVS R2,#+1
BICS R1,R1,R2
LDR.N R2,??DataTable14 ;; 0xe000e010
STR R1,[R2, #+0]
??SysTick_CounterCmd_1:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
SysTick_ITConfig:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
CMP R0,#+0
BEQ.N ??SysTick_ITConfig_0
LDR.N R1,??DataTable14 ;; 0xe000e010
LDR R1,[R1, #+0]
ORRS R1,R1,#0x2
LDR.N R2,??DataTable14 ;; 0xe000e010
STR R1,[R2, #+0]
B.N ??SysTick_ITConfig_1
??SysTick_ITConfig_0:
LDR.N R1,??DataTable14 ;; 0xe000e010
LDR R1,[R1, #+0]
MOVS R2,#+2
BICS R1,R1,R2
LDR.N R2,??DataTable14 ;; 0xe000e010
STR R1,[R2, #+0]
??SysTick_ITConfig_1:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
SysTick_GetCounter:
LDR.N R0,??DataTable13 ;; 0xe000e018
LDR R0,[R0, #+0]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable13:
DC32 0xe000e018
SECTION `.XML`:CODE:NOROOT(2)
THUMB
SysTick_GetFlagStatus:
PUSH {R0,R4}
MOVS R1,R0
MOVS R4,#+0
MOVS R2,R4
MOVS R4,#+0
MOVS R3,R4
MOVS R4,#+0
MOVS R0,R4
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
LSRS R4,R1,#+5
UXTB R4,R4 ;; ZeroExtS R4,R4,#+24,#+24
MOVS R2,R4
CMP R2,#+1
BNE.N ??SysTick_GetFlagStatus_0
LDR.N R4,??DataTable14 ;; 0xe000e010
LDR R4,[R4, #+0]
MOVS R3,R4
B.N ??SysTick_GetFlagStatus_1
??SysTick_GetFlagStatus_0:
LDR.N R4,??SysTick_GetFlagStatus_2 ;; 0xe000e01c
LDR R4,[R4, #+0]
MOVS R3,R4
??SysTick_GetFlagStatus_1:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
LSLS R4,R1,#+27 ;; ZeroExtS R4,R1,#+27,#+27
LSRS R4,R4,#+27
MOVS R2,R4
MOVS R4,#+1
LSLS R4,R4,R2
ANDS R4,R4,R3
SUBS R4,R4,#+1
SBCS R4,R4,R4
MVNS R4,R4
LSRS R4,R4,#+31
MOVS R0,R4
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
ADD SP,SP,#+4
POP {R4}
BX LR ;; return
Nop
DATA
??SysTick_GetFlagStatus_2:
DC32 0xe000e01c
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable14:
DC32 0xe000e010
END
//
// 216 bytes in section .XML
//
// 216 bytes of CODE memory
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -