stm32f10x_wwdg.s
来自「完成数据的采集」· S 代码 · 共 158 行
S
158 行
///////////////////////////////////////////////////////////////////////////////
// /
// 30/Jul/2008 14:37:36 /
// 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_wwdg.c /
// Command line = E:\library\src\stm32f10x_wwdg.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_wwdg.s /
// /
// /
///////////////////////////////////////////////////////////////////////////////
NAME stm32f10x_wwdg
EXTERN RCC_APB1PeriphResetCmd
PUBLIC WWDG_ClearFlag
PUBLIC WWDG_DeInit
PUBLIC WWDG_Enable
PUBLIC WWDG_EnableIT
PUBLIC WWDG_GetFlagStatus
PUBLIC WWDG_SetCounter
PUBLIC WWDG_SetPrescaler
PUBLIC WWDG_SetWindowValue
SECTION `.XML`:CODE:NOROOT(2)
THUMB
WWDG_DeInit:
PUSH {R0,LR}
MOVS R1,#+1
MOVS R0,#+2048
BL RCC_APB1PeriphResetCmd
MOVS R1,#+0
MOVS R0,#+2048
BL RCC_APB1PeriphResetCmd
ADD SP,SP,#+4
POP {PC} ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
WWDG_SetPrescaler:
MOVS R2,#+0
MOVS R1,R2
LDR.N R2,??DataTable3 ;; 0x40002c04
LDR R2,[R2, #+0]
MVNS R3,#+384
ANDS R3,R3,R2
MOVS R1,R3
ORRS R1,R1,R0
LDR.N R2,??DataTable3 ;; 0x40002c04
STR R1,[R2, #+0]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
WWDG_SetWindowValue:
MOVS R2,#+0
MOVS R1,R2
LDR.N R2,??DataTable3 ;; 0x40002c04
LDR R2,[R2, #+0]
MOVS R3,#+127
BICS R2,R2,R3
MOVS R1,R2
MOVS R2,R1
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
LSLS R1,R0,#+25 ;; ZeroExtS R1,R0,#+25,#+25
LSRS R1,R1,#+25
ORRS R1,R1,R2
LDR.N R2,??DataTable3 ;; 0x40002c04
STR R1,[R2, #+0]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable3:
DC32 0x40002c04
SECTION `.XML`:CODE:NOROOT(2)
THUMB
WWDG_EnableIT:
LDR.N R0,??WWDG_EnableIT_0 ;; 0x420580a4
MOVS R1,#+1
STR R1,[R0, #+0]
BX LR ;; return
DATA
??WWDG_EnableIT_0:
DC32 0x420580a4
SECTION `.XML`:CODE:NOROOT(2)
THUMB
WWDG_SetCounter:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
LSLS R1,R0,#+25 ;; ZeroExtS R1,R0,#+25,#+25
LSRS R1,R1,#+25
LDR.N R2,??DataTable5 ;; 0x40002c00
STR R1,[R2, #+0]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
WWDG_Enable:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
ORRS R1,R0,#0x80
LDR.N R2,??DataTable5 ;; 0x40002c00
STR R1,[R2, #+0]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable5:
DC32 0x40002c00
SECTION `.XML`:CODE:NOROOT(2)
THUMB
WWDG_GetFlagStatus:
LDR.N R0,??WWDG_GetFlagStatus_0 ;; 0x42058100
LDR R0,[R0, #+0]
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
BX LR ;; return
DATA
??WWDG_GetFlagStatus_0:
DC32 0x42058100
SECTION `.XML`:CODE:NOROOT(2)
THUMB
WWDG_ClearFlag:
LDR.N R0,??WWDG_ClearFlag_0 ;; 0x40002c08
MOVS R1,#+0
STR R1,[R0, #+0]
BX LR ;; return
DATA
??WWDG_ClearFlag_0:
DC32 0x40002c08
END
//
// 148 bytes in section .XML
//
// 148 bytes of CODE memory
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?