📄 stm32f10x_adc.s79
字号:
??ADC_ExternalTrigConvCmd_1:
DC32 0x29a
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_GetConversionValue:
LDR R0,[R0, #+76]
LSLS R0,R0,#+16 ;; ZeroExtS R0,R0,#+16,#+16
LSRS R0,R0,#+16
BX LR ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_GetDualModeConversionValue:
LDR.N R0,??DataTable18 ;; ADC1
LDR R0,[R0, #+0]
LDR R0,[R0, #+76]
BX LR ;; return
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable18:
DC32 ADC1
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_AutoInjectedConvCmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??ADC_AutoInjectedConvCmd_0
CMP R5,#+1
BEQ.N ??ADC_AutoInjectedConvCmd_0
LDR.N R1,??ADC_AutoInjectedConvCmd_1 ;; 0x2cf
LDR.N R0,??DataTable23 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_AutoInjectedConvCmd_0:
CMP R5,#+0
BEQ.N ??ADC_AutoInjectedConvCmd_2
LDR R0,[R4, #+4]
ORRS R0,R0,#0x400
STR R0,[R4, #+4]
B.N ??ADC_AutoInjectedConvCmd_3
??ADC_AutoInjectedConvCmd_2:
LDR R0,[R4, #+4]
MVNS R1,#+1024
ANDS R1,R1,R0
STR R1,[R4, #+4]
??ADC_AutoInjectedConvCmd_3:
POP {R4,R5,PC} ;; return
DATA
??ADC_AutoInjectedConvCmd_1:
DC32 0x2cf
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_InjectedDiscModeCmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??ADC_InjectedDiscModeCmd_0
CMP R5,#+1
BEQ.N ??ADC_InjectedDiscModeCmd_0
LDR.N R1,??ADC_InjectedDiscModeCmd_1 ;; 0x2eb
LDR.N R0,??DataTable23 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_InjectedDiscModeCmd_0:
CMP R5,#+0
BEQ.N ??ADC_InjectedDiscModeCmd_2
LDR R0,[R4, #+4]
ORRS R0,R0,#0x1000
STR R0,[R4, #+4]
B.N ??ADC_InjectedDiscModeCmd_3
??ADC_InjectedDiscModeCmd_2:
LDR R0,[R4, #+4]
MVNS R1,#+4096
ANDS R1,R1,R0
STR R1,[R4, #+4]
??ADC_InjectedDiscModeCmd_3:
POP {R4,R5,PC} ;; return
DATA
??ADC_InjectedDiscModeCmd_1:
DC32 0x2eb
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_ExternalTrigInjectedConvConfig:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R0,#+0
CMP R5,#+0
BEQ.N ??ADC_ExternalTrigInjectedConvConfig_0
CMP R5,#+4096
BEQ.N ??ADC_ExternalTrigInjectedConvConfig_0
CMP R5,#+8192
BEQ.N ??ADC_ExternalTrigInjectedConvConfig_0
CMP R5,#+12288
BEQ.N ??ADC_ExternalTrigInjectedConvConfig_0
CMP R5,#+16384
BEQ.N ??ADC_ExternalTrigInjectedConvConfig_0
CMP R5,#+20480
BEQ.N ??ADC_ExternalTrigInjectedConvConfig_0
CMP R5,#+24576
BEQ.N ??ADC_ExternalTrigInjectedConvConfig_0
CMP R5,#+28672
BEQ.N ??ADC_ExternalTrigInjectedConvConfig_0
MOVS R1,#+792
LDR.N R0,??DataTable23 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_ExternalTrigInjectedConvConfig_0:
LDR R0,[R4, #+8]
MOVS R1,R0
MVNS R0,#+28672
ANDS R0,R0,R1
ORRS R5,R5,R0
MOVS R0,R5
STR R0,[R4, #+8]
POP {R4,R5,PC} ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_ExternalTrigInjectedConvCmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??ADC_ExternalTrigInjectedConvCmd_0
CMP R5,#+1
BEQ.N ??ADC_ExternalTrigInjectedConvCmd_0
LDR.N R1,??ADC_ExternalTrigInjectedConvCmd_1 ;; 0x332
LDR.N R0,??DataTable23 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_ExternalTrigInjectedConvCmd_0:
CMP R5,#+0
BEQ.N ??ADC_ExternalTrigInjectedConvCmd_2
LDR R0,[R4, #+8]
ORRS R0,R0,#0x8000
STR R0,[R4, #+8]
B.N ??ADC_ExternalTrigInjectedConvCmd_3
??ADC_ExternalTrigInjectedConvCmd_2:
LDR R0,[R4, #+8]
MVNS R1,#+32768
ANDS R1,R1,R0
STR R1,[R4, #+8]
??ADC_ExternalTrigInjectedConvCmd_3:
POP {R4,R5,PC} ;; return
DATA
??ADC_ExternalTrigInjectedConvCmd_1:
DC32 0x332
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_SoftwareStartInjectedConvCmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??ADC_SoftwareStartInjectedConvCmd_0
CMP R5,#+1
BEQ.N ??ADC_SoftwareStartInjectedConvCmd_0
LDR.N R1,??ADC_SoftwareStartInjectedConvCmd_1 ;; 0x34e
LDR.N R0,??DataTable23 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_SoftwareStartInjectedConvCmd_0:
CMP R5,#+0
BEQ.N ??ADC_SoftwareStartInjectedConvCmd_2
LDR R0,[R4, #+8]
ORRS R0,R0,#0x208000
STR R0,[R4, #+8]
B.N ??ADC_SoftwareStartInjectedConvCmd_3
??ADC_SoftwareStartInjectedConvCmd_2:
LDR R0,[R4, #+8]
MVNS R1,#+2129920
ANDS R1,R1,R0
STR R1,[R4, #+8]
??ADC_SoftwareStartInjectedConvCmd_3:
POP {R4,R5,PC} ;; return
DATA
??ADC_SoftwareStartInjectedConvCmd_1:
DC32 0x34e
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable23:
DC32 `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_GetSoftwareStartInjectedConvCmdStatus:
MOVS R1,R0
MOVS R0,#+0
LDR R1,[R1, #+8]
LSLS R1,R1,#+10
BPL.N ??ADC_GetSoftwareStartInjectedConvCmdStatus_0
MOVS R0,#+1
B.N ??ADC_GetSoftwareStartInjectedConvCmdStatus_1
??ADC_GetSoftwareStartInjectedConvCmdStatus_0:
MOVS R0,#+0
??ADC_GetSoftwareStartInjectedConvCmdStatus_1:
BX LR ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_InjectedChannelConfig:
PUSH {R4-R7,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R6,R2
MOVS R7,R3
MOVS R1,#+0
MOVS R0,#+0
MOVS R2,#+0
CMP R5,#+0
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+1
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+2
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+3
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+4
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+5
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+6
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+7
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+8
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+9
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+10
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+11
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+12
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+13
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+14
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+15
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+16
BEQ.N ??ADC_InjectedChannelConfig_0
CMP R5,#+17
BEQ.N ??ADC_InjectedChannelConfig_0
LDR.N R1,??ADC_InjectedChannelConfig_1 ;; 0x3a7
LDR.N R0,??DataTable40 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_InjectedChannelConfig_0:
CMP R6,#+1
BCC.N ??ADC_InjectedChannelConfig_2
CMP R6,#+5
BCC.N ??ADC_InjectedChannelConfig_3
??ADC_InjectedChannelConfig_2:
MOVS R1,#+936
LDR.N R0,??DataTable40 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_InjectedChannelConfig_3:
CMP R7,#+0
BEQ.N ??ADC_InjectedChannelConfig_4
CMP R7,#+1
BEQ.N ??ADC_InjectedChannelConfig_4
CMP R7,#+2
BEQ.N ??ADC_InjectedChannelConfig_4
CMP R7,#+3
BEQ.N ??ADC_InjectedChannelConfig_4
CMP R7,#+4
BEQ.N ??ADC_InjectedChannelConfig_4
CMP R7,#+5
BEQ.N ??ADC_InjectedChannelConfig_4
CMP R7,#+6
BEQ.N ??ADC_InjectedChannelConfig_4
CMP R7,#+7
BEQ.N ??ADC_InjectedChannelConfig_4
LDR.N R1,??ADC_InjectedChannelConfig_1+0x4 ;; 0x3a9
LDR.N R0,??DataTable40 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_InjectedChannelConfig_4:
CMP R5,#+10
BCC.N ??ADC_InjectedChannelConfig_5
LDR R1,[R4, #+12]
MOVS R0,#+7
MOVS R2,R5
ADDS R2,R2,#+246
MOVS R3,#+3
MULS R2,R3,R2
LSLS R0,R0,R2
BICS R1,R1,R0
MOVS R0,R5
ADDS R0,R0,#+246
MOVS R2,#+3
MULS R0,R2,R0
LSLS R7,R7,R0
MOVS R0,R7
MOVS R2,R1
MOVS R1,R0
ORRS R1,R1,R2
STR R1,[R4, #+12]
B.N ??ADC_InjectedChannelConfig_6
??ADC_InjectedChannelConfig_5:
LDR R1,[R4, #+16]
MOVS R0,#+7
MOVS R2,#+3
MULS R2,R5,R2
LSLS R0,R0,R2
BICS R1,R1,R0
MOVS R0,#+3
MULS R0,R5,R0
LSLS R7,R7,R0
MOVS R0,R7
MOVS R2,R1
MOVS R1,R0
ORRS R1,R1,R2
STR R1,[R4, #+16]
??ADC_InjectedChannelConfig_6:
LDR R1,[R4, #+56]
ANDS R0,R1,#0x300000
MOVS R2,R0
LSRS R2,R2,#+20
MOVS R0,#+31
MOVS R3,R6
ADDS R3,R3,#+3
SUBS R3,R3,R2
SUBS R3,R3,#+1
MOVS R7,#+5
MULS R3,R7,R3
LSLS R0,R0,R3
BICS R1,R1,R0
ADDS R6,R6,#+3
SUBS R0,R6,R2
SUBS R0,R0,#+1
MOVS R2,#+5
MULS R0,R2,R0
LSLS R5,R5,R0
MOVS R0,R5
MOVS R2,R1
MOVS R1,R0
ORRS R1,R1,R2
STR R1,[R4, #+56]
POP {R4-R7,PC} ;; return
DATA
??ADC_InjectedChannelConfig_1:
DC32 0x3a7
DC32 0x3a9
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_InjectedSequencerLengthConfig:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R0,#+0
MOVS R1,#+0
CMP R5,#+1
BCC.N ??ADC_InjectedSequencerLengthConfig_0
CMP R5,#+5
BCC.N ??ADC_InjectedSequencerLengthConfig_1
??ADC_InjectedSequencerLengthConfig_0:
LDR.N R1,??ADC_InjectedSequencerLengthConfig_2 ;; 0x3eb
LDR.N R0,??DataTable40 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_InjectedSequencerLengthConfig_1:
LDR R0,[R4, #+56]
MOVS R1,R0
MVNS R0,#+3145728
ANDS R0,R0,R1
SUBS R5,R5,#+1
MOVS R1,R5
LSLS R1,R1,#+24 ;; ZeroExtS R1,R1,#+24,#+24
LSRS R1,R1,#+24
ORRS R0,R0,R1, LSL #+20
STR R0,[R4, #+56]
POP {R4,R5,PC} ;; return
DATA
??ADC_InjectedSequencerLengthConfig_2:
DC32 0x3eb
RSEG CODE:CODE:NOROOT(2)
THUMB
ADC_SetInjectedOffset:
PUSH {R4-R6,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R6,R2
CMP R5,#+20
BEQ.N ??ADC_SetInjectedOffset_0
CMP R5,#+24
BEQ.N ??ADC_SetInjectedOffset_0
CMP R5,#+28
BEQ.N ??ADC_SetInjectedOffset_0
CMP R5,#+32
BEQ.N ??ADC_SetInjectedOffset_0
LDR.N R1,??ADC_SetInjectedOffset_1 ;; 0x40b
LDR.N R0,??DataTable40 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??ADC_SetInjectedOffset_0:
MOVS R0,#+4096
CMP R6,R0
BCC.N ??ADC_SetInjectedOffset_2
LDR.N R1,??ADC_SetInjectedOffset_1+0x4 ;; 0x40c
LDR.N R0,??DataTable40 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -