📄 stm32f10x_adc.s79
字号:
//////////////////////////////////////////////////////////////////////////////
// /
// IAR ARM ANSI C/C++ Compiler V4.42A/W32 15/May/2008 12:06:30 /
// Copyright 1999-2005 IAR Systems. All rights reserved. /
// /
// Cpu mode = thumb /
// Endian = little /
// Stack alignment = 4 /
// Source file = C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM /
// Encoder\example\FWLib\src\stm32f10x_adc.c /
// Command line = "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM /
// Encoder\example\FWLib\src\stm32f10x_adc.c" -D /
// VECT_TAB_FLASH -lcN "C:\David JIANG\ST /
// MCU\Docs\STM32\AN_JIANG\TIM /
// Encoder\example\project\EWARM\BOOT_FLASH\List\" /
// -lb "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM /
// Encoder\example\project\EWARM\BOOT_FLASH\List\" -o /
// "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM /
// Encoder\example\project\EWARM\BOOT_FLASH\Obj\" -z3 /
// --no_cse --no_unroll --no_inline --no_code_motion /
// --no_tbaa --no_clustering --no_scheduling --debug /
// --cpu_mode thumb --endian little --cpu cortex-M3 /
// --stack_align 4 --require_prototypes --fpu None /
// --dlib_config "C:\Program Files\IAR /
// Systems\Embedded Workbench /
// 4.0\arm\LIB\dl7mptnnl8f.h" -I "C:\David JIANG\ST /
// MCU\Docs\STM32\AN_JIANG\TIM /
// Encoder\example\project\EWARM\" -I "C:\David /
// JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM /
// Encoder\example\project\EWARM\..\include\" -I /
// "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM /
// Encoder\example\project\EWARM\..\..\FWLib\inc\" -I /
// "C:\Program Files\IAR Systems\Embedded Workbench /
// 4.0\arm\INC\" /
// List file = C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM /
// Encoder\example\project\EWARM\BOOT_FLASH\List\stm32 /
// f10x_adc.s79 /
// /
// /
//////////////////////////////////////////////////////////////////////////////
NAME stm32f10x_adc
RSEG CSTACK:DATA:NOROOT(2)
??DataTable0 EQU 0
??DataTable1 EQU 0
??DataTable10 EQU 0
??DataTable11 EQU 0
??DataTable12 EQU 0
??DataTable14 EQU 0
??DataTable15 EQU 0
??DataTable16 EQU 0
??DataTable17 EQU 0
??DataTable19 EQU 0
??DataTable2 EQU 0
??DataTable20 EQU 0
??DataTable21 EQU 0
??DataTable22 EQU 0
??DataTable24 EQU 0
??DataTable25 EQU 0
??DataTable26 EQU 0
??DataTable27 EQU 0
??DataTable28 EQU 0
??DataTable29 EQU 0
??DataTable3 EQU 0
??DataTable30 EQU 0
??DataTable31 EQU 0
??DataTable32 EQU 0
??DataTable33 EQU 0
??DataTable34 EQU 0
??DataTable35 EQU 0
??DataTable36 EQU 0
??DataTable37 EQU 0
??DataTable38 EQU 0
??DataTable4 EQU 0
??DataTable41 EQU 0
??DataTable42 EQU 0
??DataTable5 EQU 0
??DataTable6 EQU 0
??DataTable7 EQU 0
??DataTable8 EQU 0
MULTWEAK ??RCC_APB2PeriphResetCmd??rT
MULTWEAK ??assert_failed??rT
PUBLIC ADC_AnalogWatchdogCmd
PUBLIC ADC_AnalogWatchdogSingleChannelConfig
PUBLIC ADC_AnalogWatchdogThresholdsConfig
PUBLIC ADC_AutoInjectedConvCmd
PUBLIC ADC_ClearFlag
PUBLIC ADC_ClearITPendingBit
PUBLIC ADC_Cmd
PUBLIC ADC_DMACmd
PUBLIC ADC_DeInit
PUBLIC ADC_DiscModeChannelCountConfig
PUBLIC ADC_DiscModeCmd
PUBLIC ADC_ExternalTrigConvCmd
PUBLIC ADC_ExternalTrigInjectedConvCmd
PUBLIC ADC_ExternalTrigInjectedConvConfig
PUBLIC ADC_GetCalibrationStatus
PUBLIC ADC_GetConversionValue
PUBLIC ADC_GetDualModeConversionValue
PUBLIC ADC_GetFlagStatus
PUBLIC ADC_GetITStatus
PUBLIC ADC_GetInjectedConversionValue
PUBLIC ADC_GetResetCalibrationStatus
PUBLIC ADC_GetSoftwareStartConvStatus
PUBLIC ADC_GetSoftwareStartInjectedConvCmdStatus
PUBLIC ADC_ITConfig
PUBLIC ADC_Init
PUBLIC ADC_InjectedChannelConfig
PUBLIC ADC_InjectedDiscModeCmd
PUBLIC ADC_InjectedSequencerLengthConfig
PUBLIC ADC_RegularChannelConfig
PUBLIC ADC_ResetCalibration
PUBLIC ADC_SetInjectedOffset
PUBLIC ADC_SoftwareStartConvCmd
PUBLIC ADC_SoftwareStartInjectedConvCmd
PUBLIC ADC_StartCalibration
PUBLIC ADC_StructInit
PUBLIC ADC_TempSensorVrefintCmd
RCC_APB2PeriphResetCmd SYMBOL "RCC_APB2PeriphResetCmd"
assert_failed SYMBOL "assert_failed"
??RCC_APB2PeriphResetCmd??rT SYMBOL "??rT", RCC_APB2PeriphResetCmd
??assert_failed??rT SYMBOL "??rT", assert_failed
EXTERN ADC1
EXTERN RCC_APB2PeriphResetCmd
EXTERN assert_failed
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_DeInit:
PUSH {LR}
LDR.N R1,??ADC_DeInit_0 ;; 0x40012400
CMP R0,R1
BEQ.N ??ADC_DeInit_1
LDR.N R1,??ADC_DeInit_0+0x4 ;; 0x40012800
CMP R0,R1
BEQ.N ??ADC_DeInit_2
B.N ??ADC_DeInit_3
??ADC_DeInit_1:
MOVS R1,#+1
MOVS R0,#+512
_BLF RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
MOVS R1,#+0
MOVS R0,#+512
_BLF RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
B.N ??ADC_DeInit_3
??ADC_DeInit_2:
MOVS R1,#+1
MOVS R0,#+1024
_BLF RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
MOVS R1,#+0
MOVS R0,#+1024
_BLF RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
??ADC_DeInit_3:
POP {PC} ;; return
DATA
??ADC_DeInit_0:
DC32 0x40012400
DC32 0x40012800
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_Init:
PUSH {R4-R6,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R0,#+0
MOVS R6,#+0
LDR R1,[R5, #+0]
CMP R1,#+0
BEQ.N ??ADC_Init_0
LDR R0,[R5, #+0]
CMP R0,#+65536
BEQ.N ??ADC_Init_0
LDR R0,[R5, #+0]
CMP R0,#+131072
BEQ.N ??ADC_Init_0
LDR R0,[R5, #+0]
CMP R0,#+196608
BEQ.N ??ADC_Init_0
LDR R0,[R5, #+0]
CMP R0,#+262144
BEQ.N ??ADC_Init_0
LDR R0,[R5, #+0]
CMP R0,#+327680
BEQ.N ??ADC_Init_0
LDR R0,[R5, #+0]
CMP R0,#+393216
BEQ.N ??ADC_Init_0
LDR R0,[R5, #+0]
CMP R0,#+458752
BEQ.N ??ADC_Init_0
LDR R0,[R5, #+0]
CMP R0,#+524288
BEQ.N ??ADC_Init_0
LDR R0,[R5, #+0]
CMP R0,#+589824
BEQ.N ??ADC_Init_0
MOVS R1,#+167
LDR.N R0,??DataTable13 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_Init_0:
LDRB R0,[R5, #+4]
CMP R0,#+0
BEQ.N ??ADC_Init_1
LDRB R0,[R5, #+4]
CMP R0,#+1
BEQ.N ??ADC_Init_1
MOVS R1,#+168
LDR.N R0,??DataTable13 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_Init_1:
LDRB R0,[R5, #+5]
CMP R0,#+0
BEQ.N ??ADC_Init_2
LDRB R0,[R5, #+5]
CMP R0,#+1
BEQ.N ??ADC_Init_2
MOVS R1,#+169
LDR.N R0,??DataTable13 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_Init_2:
LDR R0,[R5, #+8]
CMP R0,#+0
BEQ.N ??ADC_Init_3
LDR R0,[R5, #+8]
CMP R0,#+131072
BEQ.N ??ADC_Init_3
LDR R0,[R5, #+8]
CMP R0,#+262144
BEQ.N ??ADC_Init_3
LDR R0,[R5, #+8]
CMP R0,#+393216
BEQ.N ??ADC_Init_3
LDR R0,[R5, #+8]
CMP R0,#+524288
BEQ.N ??ADC_Init_3
LDR R0,[R5, #+8]
CMP R0,#+655360
BEQ.N ??ADC_Init_3
LDR R0,[R5, #+8]
CMP R0,#+786432
BEQ.N ??ADC_Init_3
LDR R0,[R5, #+8]
CMP R0,#+917504
BEQ.N ??ADC_Init_3
MOVS R1,#+170
LDR.N R0,??DataTable13 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_Init_3:
LDR R0,[R5, #+12]
CMP R0,#+0
BEQ.N ??ADC_Init_4
LDR R0,[R5, #+12]
CMP R0,#+2048
BEQ.N ??ADC_Init_4
MOVS R1,#+171
LDR.N R0,??DataTable13 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_Init_4:
LDRB R0,[R5, #+16]
CMP R0,#+1
BCC.N ??ADC_Init_5
LDRB R0,[R5, #+16]
CMP R0,#+17
BCC.N ??ADC_Init_6
??ADC_Init_5:
MOVS R1,#+172
LDR.N R0,??DataTable13 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_Init_6:
LDR R0,[R4, #+4]
MOVS R1,R0
LDR.N R0,??ADC_Init_7 ;; 0xfffffffffff0feff
ANDS R0,R0,R1
MOVS R2,R0
LDR R0,[R5, #+0]
LDRB R1,[R5, #+4]
ORRS R0,R0,R1, LSL #+8
ORRS R0,R0,R2
STR R0,[R4, #+4]
LDR R0,[R4, #+8]
MOVS R1,R0
LDR.N R0,??ADC_Init_7+0x4 ;; 0xfffffffffff1f7fd
ANDS R0,R0,R1
MOVS R2,R0
LDR R0,[R5, #+12]
LDR R1,[R5, #+8]
ORRS R1,R1,R0
LDRB R0,[R5, #+5]
ORRS R0,R1,R0, LSL #+1
ORRS R0,R0,R2
STR R0,[R4, #+8]
LDR R0,[R4, #+44]
MOVS R1,R0
MVNS R0,#+15728640
ANDS R0,R0,R1
MOVS R1,R6
LDRB R6,[R5, #+16]
SUBS R6,R6,#+1
ORRS R6,R6,R1
LSLS R6,R6,#+24 ;; ZeroExtS R6,R6,#+24,#+24
LSRS R6,R6,#+24
ORRS R0,R0,R6, LSL #+20
STR R0,[R4, #+44]
POP {R4-R6,PC} ;; return
Nop
DATA
??ADC_Init_7:
DC32 0xfffffffffff0feff
DC32 0xfffffffffff1f7fd
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_StructInit:
MOVS R1,#+0
STR R1,[R0, #+0]
MOVS R1,#+0
STRB R1,[R0, #+4]
MOVS R1,#+0
STRB R1,[R0, #+5]
MOVS R1,#+0
STR R1,[R0, #+8]
MOVS R1,#+0
STR R1,[R0, #+12]
MOVS R1,#+1
STRB R1,[R0, #+16]
BX LR ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_Cmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??ADC_Cmd_0
CMP R5,#+1
BEQ.N ??ADC_Cmd_0
MOVS R1,#+255
LDR.N R0,??DataTable13 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_Cmd_0:
CMP R5,#+0
BEQ.N ??ADC_Cmd_1
LDR R0,[R4, #+8]
ORRS R0,R0,#0x1
STR R0,[R4, #+8]
B.N ??ADC_Cmd_2
??ADC_Cmd_1:
LDR R0,[R4, #+8]
MOVS R1,#+1
BICS R0,R0,R1
STR R0,[R4, #+8]
??ADC_Cmd_2:
POP {R4,R5,PC} ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_DMACmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??ADC_DMACmd_0
CMP R5,#+1
BEQ.N ??ADC_DMACmd_0
LDR.N R1,??ADC_DMACmd_1 ;; 0x119
LDR.N R0,??DataTable13 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_DMACmd_0:
CMP R5,#+0
BEQ.N ??ADC_DMACmd_2
LDR R0,[R4, #+8]
ORRS R0,R0,#0x100
STR R0,[R4, #+8]
B.N ??ADC_DMACmd_3
??ADC_DMACmd_2:
LDR R0,[R4, #+8]
LDR.N R1,??ADC_DMACmd_1+0x4 ;; 0xfeff
ANDS R1,R1,R0
STR R1,[R4, #+8]
??ADC_DMACmd_3:
POP {R4,R5,PC} ;; return
Nop
DATA
??ADC_DMACmd_1:
DC32 0x119
DC32 0xfeff
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_ITConfig:
PUSH {R4-R6,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R6,R2
MOVS R0,#+0
CMP R6,#+0
BEQ.N ??ADC_ITConfig_0
CMP R6,#+1
BEQ.N ??ADC_ITConfig_0
LDR.N R1,??ADC_ITConfig_1 ;; 0x13b
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -