?? stm32f10x_i2c.s79
字號:
STRH R0,[R4, #+0]
B.N ??I2C_Cmd_2
??I2C_Cmd_1:
LDRH R0,[R4, #+0]
LDR.N R1,??DataTable19 ;; 0xfffe
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_Cmd_2:
POP {R4,R5,PC} ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_DMACmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_DMACmd_0
CMP R5,#+1
BEQ.N ??I2C_DMACmd_0
MOVS R1,#+318
LDR.N R0,??DataTable18 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_DMACmd_0:
CMP R5,#+0
BEQ.N ??I2C_DMACmd_1
LDRH R0,[R4, #+4]
ORRS R0,R0,#0x800
STRH R0,[R4, #+4]
B.N ??I2C_DMACmd_2
??I2C_DMACmd_1:
LDRH R0,[R4, #+4]
LDR.N R1,??DataTable29 ;; 0xf7ff
ANDS R1,R1,R0
STRH R1,[R4, #+4]
??I2C_DMACmd_2:
POP {R4,R5,PC} ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_DMALastTransferCmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_DMALastTransferCmd_0
CMP R5,#+1
BEQ.N ??I2C_DMALastTransferCmd_0
MOVS R1,#+344
LDR.N R0,??DataTable18 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_DMALastTransferCmd_0:
CMP R5,#+0
BEQ.N ??I2C_DMALastTransferCmd_1
LDRH R0,[R4, #+4]
ORRS R0,R0,#0x1000
STRH R0,[R4, #+4]
B.N ??I2C_DMALastTransferCmd_2
??I2C_DMALastTransferCmd_1:
LDRH R0,[R4, #+4]
LDR.N R1,??DataTable28 ;; 0xefff
ANDS R1,R1,R0
STRH R1,[R4, #+4]
??I2C_DMALastTransferCmd_2:
POP {R4,R5,PC} ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_GenerateSTART:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_GenerateSTART_0
CMP R5,#+1
BEQ.N ??I2C_GenerateSTART_0
MOVS R1,#+370
LDR.N R0,??DataTable18 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_GenerateSTART_0:
CMP R5,#+0
BEQ.N ??I2C_GenerateSTART_1
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x100
STRH R0,[R4, #+0]
B.N ??I2C_GenerateSTART_2
??I2C_GenerateSTART_1:
LDRH R0,[R4, #+0]
LDR.N R1,??I2C_GenerateSTART_3 ;; 0xfeff
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_GenerateSTART_2:
POP {R4,R5,PC} ;; return
DATA
??I2C_GenerateSTART_3:
DC32 0xfeff
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_GenerateSTOP:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_GenerateSTOP_0
CMP R5,#+1
BEQ.N ??I2C_GenerateSTOP_0
MOVS R1,#+396
LDR.N R0,??DataTable18 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_GenerateSTOP_0:
CMP R5,#+0
BEQ.N ??I2C_GenerateSTOP_1
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x200
STRH R0,[R4, #+0]
B.N ??I2C_GenerateSTOP_2
??I2C_GenerateSTOP_1:
LDRH R0,[R4, #+0]
LDR.N R1,??I2C_GenerateSTOP_3 ;; 0xfdff
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_GenerateSTOP_2:
POP {R4,R5,PC} ;; return
DATA
??I2C_GenerateSTOP_3:
DC32 0xfdff
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_AcknowledgeConfig:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_AcknowledgeConfig_0
CMP R5,#+1
BEQ.N ??I2C_AcknowledgeConfig_0
MOVS R1,#+422
LDR.N R0,??DataTable18 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_AcknowledgeConfig_0:
CMP R5,#+0
BEQ.N ??I2C_AcknowledgeConfig_1
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x400
STRH R0,[R4, #+0]
B.N ??I2C_AcknowledgeConfig_2
??I2C_AcknowledgeConfig_1:
LDRH R0,[R4, #+0]
LDR.N R1,??I2C_AcknowledgeConfig_3 ;; 0xfbff
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_AcknowledgeConfig_2:
POP {R4,R5,PC} ;; return
DATA
??I2C_AcknowledgeConfig_3:
DC32 0xfbff
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_OwnAddress2Config:
MOVS R2,#+0
LDRH R3,[R0, #+12]
MOVS R2,R3
MOVS R3,R2
LDR.N R2,??I2C_OwnAddress2Config_0 ;; 0xff01
ANDS R2,R2,R3
MOVS R3,R2
ANDS R2,R1,#0xFE
ORRS R2,R2,R3
STRH R2,[R0, #+12]
BX LR ;; return
DATA
??I2C_OwnAddress2Config_0:
DC32 0xff01
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_DualAddressCmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_DualAddressCmd_0
CMP R5,#+1
BEQ.N ??I2C_DualAddressCmd_0
MOVS R1,#+470
LDR.N R0,??DataTable18 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_DualAddressCmd_0:
CMP R5,#+0
BEQ.N ??I2C_DualAddressCmd_1
LDRH R0,[R4, #+12]
ORRS R0,R0,#0x1
STRH R0,[R4, #+12]
B.N ??I2C_DualAddressCmd_2
??I2C_DualAddressCmd_1:
LDRH R0,[R4, #+12]
LDR.N R1,??DataTable19 ;; 0xfffe
ANDS R1,R1,R0
STRH R1,[R4, #+12]
??I2C_DualAddressCmd_2:
POP {R4,R5,PC} ;; return
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable18:
DC32 `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable19:
DC32 0xfffe
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_GeneralCallCmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_GeneralCallCmd_0
CMP R5,#+1
BEQ.N ??I2C_GeneralCallCmd_0
MOVS R1,#+496
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_GeneralCallCmd_0:
CMP R5,#+0
BEQ.N ??I2C_GeneralCallCmd_1
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x40
STRH R0,[R4, #+0]
B.N ??I2C_GeneralCallCmd_2
??I2C_GeneralCallCmd_1:
LDRH R0,[R4, #+0]
LDR.N R1,??I2C_GeneralCallCmd_3 ;; 0xffbf
ANDS R1,R1,R0
STRH R1,[R4, #+0]
??I2C_GeneralCallCmd_2:
POP {R4,R5,PC} ;; return
DATA
??I2C_GeneralCallCmd_3:
DC32 0xffbf
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_ITConfig:
PUSH {R4-R6,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R6,R2
CMP R6,#+0
BEQ.N ??I2C_ITConfig_0
CMP R6,#+1
BEQ.N ??I2C_ITConfig_0
MOVS R1,#+528
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_ITConfig_0:
LDR.N R0,??I2C_ITConfig_1 ;; 0xf8ff
TST R5,R0
BNE.N ??I2C_ITConfig_2
CMP R5,#+0
BNE.N ??I2C_ITConfig_3
??I2C_ITConfig_2:
LDR.N R1,??I2C_ITConfig_1+0x4 ;; 0x211
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_ITConfig_3:
CMP R6,#+0
BEQ.N ??I2C_ITConfig_4
LDRH R0,[R4, #+4]
ORRS R5,R5,R0
STRH R5,[R4, #+4]
B.N ??I2C_ITConfig_5
??I2C_ITConfig_4:
LDRH R0,[R4, #+4]
BICS R0,R0,R5
STRH R0,[R4, #+4]
??I2C_ITConfig_5:
POP {R4-R6,PC} ;; return
DATA
??I2C_ITConfig_1:
DC32 0xf8ff
DC32 0x211
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_SendData:
STRH R1,[R0, #+16]
BX LR ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_ReceiveData:
LDRH R0,[R0, #+16]
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
BX LR ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_Send7bitAddress:
PUSH {R4-R6,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R6,R2
CMP R6,#+0
BEQ.N ??I2C_Send7bitAddress_0
CMP R6,#+1
BEQ.N ??I2C_Send7bitAddress_0
LDR.N R1,??I2C_Send7bitAddress_1 ;; 0x24a
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_Send7bitAddress_0:
CMP R6,#+0
BEQ.N ??I2C_Send7bitAddress_2
ORRS R5,R5,#0x1
B.N ??I2C_Send7bitAddress_3
??I2C_Send7bitAddress_2:
ANDS R5,R5,#0xFE
??I2C_Send7bitAddress_3:
LSLS R5,R5,#+24 ;; ZeroExtS R5,R5,#+24,#+24
LSRS R5,R5,#+24
STRH R5,[R4, #+16]
POP {R4-R6,PC} ;; return
Nop
DATA
??I2C_Send7bitAddress_1:
DC32 0x24a
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_ReadRegister:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_ReadRegister_0
CMP R5,#+4
BEQ.N ??I2C_ReadRegister_0
CMP R5,#+8
BEQ.N ??I2C_ReadRegister_0
CMP R5,#+12
BEQ.N ??I2C_ReadRegister_0
CMP R5,#+16
BEQ.N ??I2C_ReadRegister_0
CMP R5,#+20
BEQ.N ??I2C_ReadRegister_0
CMP R5,#+24
BEQ.N ??I2C_ReadRegister_0
CMP R5,#+28
BEQ.N ??I2C_ReadRegister_0
CMP R5,#+32
BEQ.N ??I2C_ReadRegister_0
LDR.N R1,??I2C_ReadRegister_1 ;; 0x26f
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_ReadRegister_0:
LDRH R0,[R4, R5]
LSLS R0,R0,#+16 ;; ZeroExtS R0,R0,#+16,#+16
LSRS R0,R0,#+16
POP {R4,R5,PC} ;; return
Nop
DATA
??I2C_ReadRegister_1:
DC32 0x26f
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_SoftwareResetCmd:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R5,#+0
BEQ.N ??I2C_SoftwareResetCmd_0
CMP R5,#+1
BEQ.N ??I2C_SoftwareResetCmd_0
LDR.N R1,??I2C_SoftwareResetCmd_1 ;; 0x281
LDR.N R0,??DataTable36 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_SoftwareResetCmd_0:
CMP R5,#+0
BEQ.N ??I2C_SoftwareResetCmd_2
LDRH R0,[R4, #+0]
ORRS R0,R0,#0x8000
STRH R0,[R4, #+0]
B.N ??I2C_SoftwareResetCmd_3
??I2C_SoftwareResetCmd_2:
LDRH R0,[R4, #+0]
LSLS R0,R0,#+17 ;; ZeroExtS R0,R0,#+17,#+17
LSRS R0,R0,#+17
STRH R0,[R4, #+0]
??I2C_SoftwareResetCmd_3:
POP {R4,R5,PC} ;; return
Nop
DATA
??I2C_SoftwareResetCmd_1:
DC32 0x281
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_SMBusAlertConfig:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R0,#+8192
CMP R5,R0
BEQ.N ??I2C_SMBusAlertConfig_0
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -