📄 stm32f10x_i2c.s79
字号:
LDR.N R0,??I2C_SMBusAlertConfig_1 ;; 0xcfff
CMP R5,R0
BEQ.N ??I2C_SMBusAlertConfig_0
LDR.N R1,??I2C_SMBusAlertConfig_1+0x4 ;; 0x29d
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_SMBusAlertConfig_0:
MOVS R0,#+8192
CMP R5,R0
BNE.N ??I2C_SMBusAlertConfig_2
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x2000
STRH R0,[R4, #+0]
B.N ??I2C_SMBusAlertConfig_3
??I2C_SMBusAlertConfig_2:
LDRH R0,[R4, #+0]
LDR.N R1,??I2C_SMBusAlertConfig_1 ;; 0xcfff
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_SMBusAlertConfig_3:
POP {R4,R5,PC} ;; return
DATA
??I2C_SMBusAlertConfig_1:
DC32 0xcfff
DC32 0x29d
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_TransmitPEC:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_TransmitPEC_0
CMP R5,#+1
BEQ.N ??I2C_TransmitPEC_0
LDR.N R1,??I2C_TransmitPEC_1 ;; 0x2b7
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_TransmitPEC_0:
CMP R5,#+0
BEQ.N ??I2C_TransmitPEC_2
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x1000
STRH R0,[R4, #+0]
B.N ??I2C_TransmitPEC_3
??I2C_TransmitPEC_2:
LDRH R0,[R4, #+0]
LDR.N R1,??DataTable28 ;; 0xefff
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_TransmitPEC_3:
POP {R4,R5,PC} ;; return
Nop
DATA
??I2C_TransmitPEC_1:
DC32 0x2b7
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable28:
DC32 0xefff
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_PECPositionConfig:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R0,#+2048
CMP R5,R0
BEQ.N ??I2C_PECPositionConfig_0
LDR.N R0,??DataTable29 ;; 0xf7ff
CMP R5,R0
BEQ.N ??I2C_PECPositionConfig_0
LDR.N R1,??I2C_PECPositionConfig_1 ;; 0x2d5
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_PECPositionConfig_0:
MOVS R0,#+2048
CMP R5,R0
BNE.N ??I2C_PECPositionConfig_2
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x800
STRH R0,[R4, #+0]
B.N ??I2C_PECPositionConfig_3
??I2C_PECPositionConfig_2:
LDRH R0,[R4, #+0]
LDR.N R1,??DataTable29 ;; 0xf7ff
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_PECPositionConfig_3:
POP {R4,R5,PC} ;; return
DATA
??I2C_PECPositionConfig_1:
DC32 0x2d5
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable29:
DC32 0xf7ff
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_CalculatePEC:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_CalculatePEC_0
CMP R5,#+1
BEQ.N ??I2C_CalculatePEC_0
MOVS R1,#+752
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_CalculatePEC_0:
CMP R5,#+0
BEQ.N ??I2C_CalculatePEC_1
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x20
STRH R0,[R4, #+0]
B.N ??I2C_CalculatePEC_2
??I2C_CalculatePEC_1:
LDRH R0,[R4, #+0]
LDR.N R1,??I2C_CalculatePEC_3 ;; 0xffdf
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_CalculatePEC_2:
POP {R4,R5,PC} ;; return
DATA
??I2C_CalculatePEC_3:
DC32 0xffdf
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_GetPEC:
LDRH R0,[R0, #+24]
LSLS R0,R0,#+16 ;; ZeroExtS R0,R0,#+16,#+16
LSRS R0,R0,#+16
LSRS R0,R0,#+8
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
BX LR ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_ARPCmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_ARPCmd_0
CMP R5,#+1
BEQ.N ??I2C_ARPCmd_0
LDR.N R1,??I2C_ARPCmd_1 ;; 0x31b
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_ARPCmd_0:
CMP R5,#+0
BEQ.N ??I2C_ARPCmd_2
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x10
STRH R0,[R4, #+0]
B.N ??I2C_ARPCmd_3
??I2C_ARPCmd_2:
LDRH R0,[R4, #+0]
LDR.N R1,??I2C_ARPCmd_1+0x4 ;; 0xffef
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_ARPCmd_3:
POP {R4,R5,PC} ;; return
Nop
DATA
??I2C_ARPCmd_1:
DC32 0x31b
DC32 0xffef
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_StretchClockCmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_StretchClockCmd_0
CMP R5,#+1
BEQ.N ??I2C_StretchClockCmd_0
LDR.N R1,??I2C_StretchClockCmd_1 ;; 0x335
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_StretchClockCmd_0:
CMP R5,#+0
BNE.N ??I2C_StretchClockCmd_2
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x80
STRH R0,[R4, #+0]
B.N ??I2C_StretchClockCmd_3
??I2C_StretchClockCmd_2:
LDRH R0,[R4, #+0]
LDR.N R1,??I2C_StretchClockCmd_1+0x4 ;; 0xff7f
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_StretchClockCmd_3:
POP {R4,R5,PC} ;; return
Nop
DATA
??I2C_StretchClockCmd_1:
DC32 0x335
DC32 0xff7f
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_FastModeDutyCycleConfig:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R0,#+16384
CMP R5,R0
BEQ.N ??I2C_FastModeDutyCycleConfig_0
LDR.N R0,??DataTable37 ;; 0xbfff
CMP R5,R0
BEQ.N ??I2C_FastModeDutyCycleConfig_0
LDR.N R1,??I2C_FastModeDutyCycleConfig_1 ;; 0x351
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_FastModeDutyCycleConfig_0:
MOVS R0,#+16384
CMP R5,R0
BEQ.N ??I2C_FastModeDutyCycleConfig_2
LDRH R0,[R4, #+28]
LDR.N R1,??DataTable37 ;; 0xbfff
ANDS R1,R1,R0
STRH R1,[R4, #+28]
B.N ??I2C_FastModeDutyCycleConfig_3
??I2C_FastModeDutyCycleConfig_2:
LDRH R0,[R4, #+28]
ORRS R0,R0,#0x4000
STRH R0,[R4, #+28]
??I2C_FastModeDutyCycleConfig_3:
POP {R4,R5,PC} ;; return
DATA
??I2C_FastModeDutyCycleConfig_1:
DC32 0x351
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable36:
DC32 `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable37:
DC32 0xbfff
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_GetLastEvent:
PUSH {R4}
MOVS R1,R0
MOVS R0,#+0
MOVS R2,#+0
MOVS R3,#+0
LDRH R4,[R1, #+20]
MOVS R2,R4
LDRH R1,[R1, #+24]
MOVS R3,R1
LSLS R3,R3,#+16
ORRS R3,R3,R2
LSLS R1,R3,#+8 ;; ZeroExtS R1,R3,#+8,#+8
LSRS R1,R1,#+8
MOVS R0,R1
POP {R4}
BX LR ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_CheckEvent:
PUSH {R4-R6,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R1,#+0
MOVS R2,#+0
MOVS R3,#+0
MOVS R0,#+0
LDR.N R6,??I2C_CheckEvent_0 ;; 0x60082
CMP R5,R6
BEQ.N ??I2C_CheckEvent_1
CMP R5,#+131074
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x4 ;; 0x860080
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
CMP R5,#+8519680
BEQ.N ??I2C_CheckEvent_1
CMP R5,#+1179648
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x8 ;; 0x20040
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0xC ;; 0x820040
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x10 ;; 0x120040
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x14 ;; 0x60084
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x18 ;; 0x860084
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x1C ;; 0x160084
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
CMP R5,#+16
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x20 ;; 0x30001
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x24 ;; 0x70082
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x28 ;; 0x30002
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x2C ;; 0x30040
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x30 ;; 0x70084
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
LDR.N R0,??I2C_CheckEvent_0+0x34 ;; 0x30008
CMP R5,R0
BEQ.N ??I2C_CheckEvent_1
CMP R5,#+1024
BEQ.N ??I2C_CheckEvent_1
LDR.N R1,??I2C_CheckEvent_0+0x38 ;; 0x393
LDR.N R0,??DataTable74 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_CheckEvent_1:
LDRH R2,[R4, #+20]
LDRH R3,[R4, #+24]
LSLS R3,R3,#+16
ORRS R3,R3,R2
LSLS R1,R3,#+8 ;; ZeroExtS R1,R3,#+8,#+8
LSRS R1,R1,#+8
CMP R1,R5
BNE.N ??I2C_CheckEvent_2
MOVS R0,#+1
B.N ??I2C_CheckEvent_3
??I2C_CheckEvent_2:
MOVS R0,#+0
??I2C_CheckEvent_3:
POP {R4-R6,PC} ;; return
Nop
DATA
??I2C_CheckEvent_0:
DC32 0x60082
DC32 0x860080
DC32 0x20040
DC32 0x820040
DC32 0x120040
DC32 0x60084
DC32 0x860084
DC32 0x160084
DC32 0x30001
DC32 0x70082
DC32 0x30002
DC32 0x30040
DC32 0x70084
DC32 0x30008
DC32 0x393
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_GetFlagStatus:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R0,#+0
MOVS R1,#+0
MOVS R2,#+0
MOVS R3,#+0
CMP R5,#+8388608
BEQ.N ??I2C_GetFlagStatus_0
CMP R5,#+4194304
BEQ.N ??I2C_GetFlagStatus_0
CMP R5,#+2097152
BEQ.N ??I2C_GetFlagStatus_0
CMP R5,#+1048576
BEQ.N ??I2C_GetFlagStatus_0
CMP R5,#+262144
BEQ.N ??I2C_GetFlagStatus_0
CMP R5,#+131072
BEQ.N ??I2C_GetFlagStatus_0
CMP R5,#+65536
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R0,??DataTable75 ;; 0x10008000
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R0,??DataTable76 ;; 0x10004000
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
CMP R5,#+268439552
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R0,??DataTable77 ;; 0x10000800
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R0,??DataTable78 ;; 0x10000400
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -