📄 stm32f10x_adc.s
字号:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
SUBS R6,R2,#+7
MOVS R7,#+5
MULS R6,R7,R6
LSLS R6,R1,R6
MOVS R4,R6
ORRS R5,R5,R4
STR R5,[R0, #+48]
B.N ??ADC_RegularChannelConfig_3
??ADC_RegularChannelConfig_4:
LDR R6,[R0, #+44]
MOVS R5,R6
MOVS R6,#+31
MOV R12,R6
SUBS R7,R2,#+13
MOVS R6,#+5
MULS R7,R6,R7
MOV R6,R12
LSLS R6,R6,R7
MOVS R4,R6
BICS R5,R5,R4
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
SUBS R6,R2,#+13
MOVS R7,#+5
MULS R6,R7,R6
LSLS R6,R1,R6
MOVS R4,R6
ORRS R5,R5,R4
STR R5,[R0, #+44]
??ADC_RegularChannelConfig_3:
POP {R4-R7}
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_ExternalTrigConvCmd:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+0
BEQ.N ??ADC_ExternalTrigConvCmd_0
LDR R2,[R0, #+8]
ORRS R2,R2,#0x100000
STR R2,[R0, #+8]
B.N ??ADC_ExternalTrigConvCmd_1
??ADC_ExternalTrigConvCmd_0:
LDR R2,[R0, #+8]
MVNS R3,#+1048576
ANDS R3,R3,R2
STR R3,[R0, #+8]
??ADC_ExternalTrigConvCmd_1:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_GetConversionValue:
LDR R0,[R0, #+76]
UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_GetDualModeConversionValue:
LDR.N R0,??ADC_GetDualModeConversionValue_0 ;; 0x4001244c
LDR R0,[R0, #+0]
BX LR ;; return
Nop
DATA
??ADC_GetDualModeConversionValue_0:
DC32 0x4001244c
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_AutoInjectedConvCmd:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+0
BEQ.N ??ADC_AutoInjectedConvCmd_0
LDR R2,[R0, #+4]
ORRS R2,R2,#0x400
STR R2,[R0, #+4]
B.N ??ADC_AutoInjectedConvCmd_1
??ADC_AutoInjectedConvCmd_0:
LDR R2,[R0, #+4]
MVNS R3,#+1024
ANDS R3,R3,R2
STR R3,[R0, #+4]
??ADC_AutoInjectedConvCmd_1:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_InjectedDiscModeCmd:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+0
BEQ.N ??ADC_InjectedDiscModeCmd_0
LDR R2,[R0, #+4]
ORRS R2,R2,#0x1000
STR R2,[R0, #+4]
B.N ??ADC_InjectedDiscModeCmd_1
??ADC_InjectedDiscModeCmd_0:
LDR R2,[R0, #+4]
MVNS R3,#+4096
ANDS R3,R3,R2
STR R3,[R0, #+4]
??ADC_InjectedDiscModeCmd_1:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_ExternalTrigInjectedConvConfig:
MOVS R3,#+0
MOVS R2,R3
LDR R3,[R0, #+8]
MOVS R2,R3
MOVS R3,R2
MVNS R2,#+28672
ANDS R2,R2,R3
ORRS R2,R2,R1
STR R2,[R0, #+8]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_ExternalTrigInjectedConvCmd:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+0
BEQ.N ??ADC_ExternalTrigInjectedConvCmd_0
LDR R2,[R0, #+8]
ORRS R2,R2,#0x8000
STR R2,[R0, #+8]
B.N ??ADC_ExternalTrigInjectedConvCmd_1
??ADC_ExternalTrigInjectedConvCmd_0:
LDR R2,[R0, #+8]
MVNS R3,#+32768
ANDS R3,R3,R2
STR R3,[R0, #+8]
??ADC_ExternalTrigInjectedConvCmd_1:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_SoftwareStartInjectedConvCmd:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+0
BEQ.N ??ADC_SoftwareStartInjectedConvCmd_0
LDR R2,[R0, #+8]
ORRS R2,R2,#0x208000
STR R2,[R0, #+8]
B.N ??ADC_SoftwareStartInjectedConvCmd_1
??ADC_SoftwareStartInjectedConvCmd_0:
LDR R2,[R0, #+8]
MVNS R3,#+2129920
ANDS R3,R3,R2
STR R3,[R0, #+8]
??ADC_SoftwareStartInjectedConvCmd_1:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_GetSoftwareStartInjectedConvCmdStatus:
MOVS R1,R0
MOVS R2,#+0
MOVS R0,R2
LDR R2,[R1, #+8]
MOVS R3,#+2097152
ANDS R3,R3,R2
SUBS R2,R3,#+1
SBCS R2,R2,R2
MVNS R2,R2
LSRS R2,R2,#+31
MOVS R0,R2
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_InjectedChannelConfig:
PUSH {R0,R4-R8}
MOV R8,R3
MOVS R6,#+0
MOVS R5,R6
MOVS R6,#+0
MOVS R3,R6
MOVS R6,#+0
MOVS R4,R6
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+10
BCC.N ??ADC_InjectedChannelConfig_0
LDR R6,[R0, #+12]
MOVS R5,R6
MOVS R6,#+7
MOV R12,R6
SUBS R7,R1,#+10
MOVS R6,#+3
MULS R7,R6,R7
MOV R6,R12
LSLS R6,R6,R7
MOVS R3,R6
BICS R5,R5,R3
MOV R6,R8
UXTB R6,R6 ;; ZeroExtS R6,R6,#+24,#+24
MOV R12,R6
SUBS R7,R1,#+10
MOVS R6,#+3
MULS R7,R6,R7
MOV R6,R12
LSLS R6,R6,R7
MOVS R3,R6
ORRS R5,R5,R3
STR R5,[R0, #+12]
B.N ??ADC_InjectedChannelConfig_1
??ADC_InjectedChannelConfig_0:
LDR R6,[R0, #+16]
MOVS R5,R6
MOVS R6,#+7
MOVS R7,#+3
MULS R7,R1,R7
LSLS R6,R6,R7
MOVS R3,R6
BICS R5,R5,R3
MOV R6,R8
UXTB R6,R6 ;; ZeroExtS R6,R6,#+24,#+24
MOVS R7,#+3
MULS R7,R1,R7
LSLS R6,R6,R7
MOVS R3,R6
ORRS R5,R5,R3
STR R5,[R0, #+16]
??ADC_InjectedChannelConfig_1:
LDR R6,[R0, #+56]
MOVS R5,R6
ANDS R6,R5,#0x300000
LSRS R6,R6,#+20
MOVS R4,R6
MOVS R6,#+31
MOV R12,R6
MOVS R6,R2
ADDS R6,R6,#+3
SUBS R7,R6,R4
SUBS R7,R7,#+1
MOVS R6,#+5
MULS R7,R6,R7
MOV R6,R12
LSLS R6,R6,R7
MOVS R3,R6
BICS R5,R5,R3
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
MOVS R6,R2
ADDS R6,R6,#+3
SUBS R6,R6,R4
SUBS R6,R6,#+1
MOVS R7,#+5
MULS R6,R7,R6
LSLS R6,R1,R6
MOVS R3,R6
ORRS R5,R5,R3
STR R5,[R0, #+56]
ADD SP,SP,#+4
POP {R4-R8}
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_InjectedSequencerLengthConfig:
PUSH {R0,R4}
MOVS R4,#+0
MOVS R3,R4
MOVS R4,#+0
MOVS R2,R4
LDR R4,[R0, #+56]
MOVS R3,R4
MOVS R4,R3
MVNS R3,#+3145728
ANDS R3,R3,R4
SUBS R4,R1,#+1
MOVS R2,R4
UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
ORRS R3,R3,R2, LSL #+20
STR R3,[R0, #+56]
ADD SP,SP,#+4
POP {R4}
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_SetInjectedOffset:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
UXTH R2,R2 ;; ZeroExtS R2,R2,#+16,#+16
STR R2,[R0, R1]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_GetInjectedConversionValue:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
ADDS R0,R0,R1
LDR R0,[R0, #+40]
UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_AnalogWatchdogCmd:
MOVS R3,#+0
MOVS R2,R3
LDR R3,[R0, #+4]
MOVS R2,R3
MOVS R3,R2
LDR.N R2,??ADC_AnalogWatchdogCmd_0 ;; 0xff3ffdff
ANDS R2,R2,R3
ORRS R2,R2,R1
STR R2,[R0, #+4]
BX LR ;; return
DATA
??ADC_AnalogWatchdogCmd_0:
DC32 0xff3ffdff
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_AnalogWatchdogThresholdsConfig:
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
STR R1,[R0, #+36]
UXTH R2,R2 ;; ZeroExtS R2,R2,#+16,#+16
STR R2,[R0, #+40]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_AnalogWatchdogSingleChannelConfig:
MOVS R3,#+0
MOVS R2,R3
LDR R3,[R0, #+4]
MOVS R2,R3
MOVS R3,#+31
BICS R2,R2,R3
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
ORRS R2,R2,R1
STR R2,[R0, #+4]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_TempSensorVrefintCmd:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
CMP R0,#+0
BEQ.N ??ADC_TempSensorVrefintCmd_0
LDR.N R1,??ADC_TempSensorVrefintCmd_1 ;; 0x40012408
LDR R1,[R1, #+0]
ORRS R1,R1,#0x800000
LDR.N R2,??ADC_TempSensorVrefintCmd_1 ;; 0x40012408
STR R1,[R2, #+0]
B.N ??ADC_TempSensorVrefintCmd_2
??ADC_TempSensorVrefintCmd_0:
LDR.N R1,??ADC_TempSensorVrefintCmd_1 ;; 0x40012408
LDR R1,[R1, #+0]
MVNS R2,#+8388608
ANDS R2,R2,R1
LDR.N R1,??ADC_TempSensorVrefintCmd_1 ;; 0x40012408
STR R2,[R1, #+0]
??ADC_TempSensorVrefintCmd_2:
BX LR ;; return
DATA
??ADC_TempSensorVrefintCmd_1:
DC32 0x40012408
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_GetFlagStatus:
PUSH {R0,R4}
MOVS R2,R0
MOVS R3,#+0
MOVS R0,R3
LDR R3,[R2, #+0]
ANDS R3,R3,R1
MOVS R4,R3
UXTB R4,R4 ;; ZeroExtS R4,R4,#+24,#+24
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
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_ClearFlag:
LDR R2,[R0, #+0]
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
BICS R2,R2,R1
STR R2,[R0, #+0]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_GetITStatus:
PUSH {R4-R6,LR}
MOVS R2,R0
MOVS R5,#+0
MOVS R0,R5
MOVS R5,#+0
MOVS R3,R5
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
LSRS R5,R1,#+8
MOVS R3,R5
LDR R5,[R2, #+4]
MOVS R6,R1
ANDS R6,R6,R5
MOVS R4,R6
LDR R5,[R2, #+0]
TST R5,R3
BEQ.N ??ADC_GetITStatus_0
MOVS R0,R4
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
SUBS R0,R0,#+1
SBCS R0,R0,R0
MVNS R0,R0
LSRS R0,R0,#+31
B.N ??ADC_GetITStatus_1
??ADC_GetITStatus_0:
MOVS R5,#+0
MOVS R0,R5
??ADC_GetITStatus_1:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
POP {R4-R6,PC} ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ADC_ClearITPendingBit:
MOVS R3,#+0
MOVS R2,R3
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
LSRS R3,R1,#+8
MOVS R2,R3
LDR R3,[R0, #+0]
UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
BICS R3,R3,R2
STR R3,[R0, #+0]
BX LR ;; return
END
//
// 1 386 bytes in section .XML
//
// 1 386 bytes of CODE memory
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -