📄 stm32f10x_i2c.s79
字号:
LDR.N R0,??DataTable79 ;; 0x10000200
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R0,??DataTable80 ;; 0x10000100
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
CMP R5,#+128
BEQ.N ??I2C_GetFlagStatus_0
CMP R5,#+64
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R0,??DataTable81 ;; 0x60000010
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R0,??DataTable82 ;; 0x20000008
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R0,??DataTable83 ;; 0x60000004
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R0,??DataTable84 ;; 0xffffffffa0000002
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R0,??DataTable85 ;; 0x20000001
CMP R5,R0
BEQ.N ??I2C_GetFlagStatus_0
LDR.N R1,??I2C_GetFlagStatus_1 ;; 0x3d2
LDR.N R0,??DataTable74 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_GetFlagStatus_0:
LDRH R2,[R4, #+20]
LDRH R3,[R4, #+24]
LSLS R3,R3,#+16
MOVS R1,R3
ORRS R1,R1,R2
LSLS R5,R5,#+8 ;; ZeroExtS R5,R5,#+8,#+8
LSRS R5,R5,#+8
ANDS R5,R5,R1
CMP R5,#+0
BEQ.N ??I2C_GetFlagStatus_2
MOVS R0,#+1
B.N ??I2C_GetFlagStatus_3
??I2C_GetFlagStatus_2:
MOVS R0,#+0
??I2C_GetFlagStatus_3:
POP {R4,R5,PC} ;; return
DATA
??I2C_GetFlagStatus_1:
DC32 0x3d2
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_ClearFlag:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R0,#+0
MOVS R1,#+0
LDR.N R2,??DataTable75 ;; 0x10008000
CMP R5,R2
BEQ.N ??I2C_ClearFlag_0
LDR.N R0,??DataTable76 ;; 0x10004000
CMP R5,R0
BEQ.N ??I2C_ClearFlag_0
CMP R5,#+268439552
BEQ.N ??I2C_ClearFlag_0
LDR.N R0,??DataTable77 ;; 0x10000800
CMP R5,R0
BEQ.N ??I2C_ClearFlag_0
LDR.N R0,??DataTable78 ;; 0x10000400
CMP R5,R0
BEQ.N ??I2C_ClearFlag_0
LDR.N R0,??DataTable79 ;; 0x10000200
CMP R5,R0
BEQ.N ??I2C_ClearFlag_0
LDR.N R0,??DataTable80 ;; 0x10000100
CMP R5,R0
BEQ.N ??I2C_ClearFlag_0
LDR.N R0,??DataTable81 ;; 0x60000010
CMP R5,R0
BEQ.N ??I2C_ClearFlag_0
LDR.N R0,??DataTable82 ;; 0x20000008
CMP R5,R0
BEQ.N ??I2C_ClearFlag_0
LDR.N R0,??DataTable83 ;; 0x60000004
CMP R5,R0
BEQ.N ??I2C_ClearFlag_0
LDR.N R0,??DataTable84 ;; 0xffffffffa0000002
CMP R5,R0
BEQ.N ??I2C_ClearFlag_0
LDR.N R0,??DataTable85 ;; 0x20000001
CMP R5,R0
BEQ.N ??I2C_ClearFlag_0
LDR.N R1,??I2C_ClearFlag_1 ;; 0x40a
LDR.N R0,??DataTable74 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_ClearFlag_0:
LSLS R0,R5,#+8 ;; ZeroExtS R0,R5,#+8,#+8
LSRS R0,R0,#+8
MOVS R1,R5
LSRS R1,R1,#+28
LSLS R1,R1,#+24 ;; ZeroExtS R1,R1,#+24,#+24
LSRS R1,R1,#+24
CMP R1,#+1
BNE.N ??I2C_ClearFlag_2
LDRH R1,[R4, #+20]
BICS R1,R1,R0
STRH R1,[R4, #+20]
B.N ??I2C_ClearFlag_3
??I2C_ClearFlag_2:
LSLS R1,R1,#+24 ;; ZeroExtS R1,R1,#+24,#+24
LSRS R1,R1,#+24
CMP R1,#+2
BNE.N ??I2C_ClearFlag_4
LDRH R0,[R4, #+20]
B.N ??I2C_ClearFlag_3
??I2C_ClearFlag_4:
LSLS R1,R1,#+24 ;; ZeroExtS R1,R1,#+24,#+24
LSRS R1,R1,#+24
CMP R1,#+6
BNE.N ??I2C_ClearFlag_5
LDRH R0,[R4, #+20]
LDRH R1,[R4, #+0]
ORRS R1,R1,#0x1
STRH R1,[R4, #+0]
B.N ??I2C_ClearFlag_3
??I2C_ClearFlag_5:
LDRH R0,[R4, #+20]
LDRH R1,[R4, #+24]
??I2C_ClearFlag_3:
POP {R4,R5,PC} ;; return
DATA
??I2C_ClearFlag_1:
DC32 0x40a
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_GetITStatus:
PUSH {R4-R6,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R0,#+0
MOVS R1,#+0
MOVS R2,#+0
MOVS R3,#+0
LDR.N R6,??DataTable75 ;; 0x10008000
CMP R5,R6
BEQ.N ??I2C_GetITStatus_0
LDR.N R0,??DataTable76 ;; 0x10004000
CMP R5,R0
BEQ.N ??I2C_GetITStatus_0
CMP R5,#+268439552
BEQ.N ??I2C_GetITStatus_0
LDR.N R0,??DataTable77 ;; 0x10000800
CMP R5,R0
BEQ.N ??I2C_GetITStatus_0
LDR.N R0,??DataTable78 ;; 0x10000400
CMP R5,R0
BEQ.N ??I2C_GetITStatus_0
LDR.N R0,??DataTable79 ;; 0x10000200
CMP R5,R0
BEQ.N ??I2C_GetITStatus_0
LDR.N R0,??DataTable80 ;; 0x10000100
CMP R5,R0
BEQ.N ??I2C_GetITStatus_0
CMP R5,#+128
BEQ.N ??I2C_GetITStatus_0
CMP R5,#+64
BEQ.N ??I2C_GetITStatus_0
LDR.N R0,??DataTable81 ;; 0x60000010
CMP R5,R0
BEQ.N ??I2C_GetITStatus_0
LDR.N R0,??DataTable82 ;; 0x20000008
CMP R5,R0
BEQ.N ??I2C_GetITStatus_0
LDR.N R0,??DataTable83 ;; 0x60000004
CMP R5,R0
BEQ.N ??I2C_GetITStatus_0
LDR.N R0,??DataTable84 ;; 0xffffffffa0000002
CMP R5,R0
BEQ.N ??I2C_GetITStatus_0
LDR.N R0,??DataTable85 ;; 0x20000001
CMP R5,R0
BEQ.N ??I2C_GetITStatus_0
LDR.N R1,??I2C_GetITStatus_1 ;; 0x451
LDR.N R0,??DataTable74 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_GetITStatus_0:
LDRH R2,[R4, #+20]
LDRH R3,[R4, #+24]
LSLS R3,R3,#+16
MOVS R1,R3
ORRS R1,R1,R2
LSLS R5,R5,#+8 ;; ZeroExtS R5,R5,#+8,#+8
LSRS R5,R5,#+8
ANDS R5,R5,R1
CMP R5,#+0
BEQ.N ??I2C_GetITStatus_2
MOVS R0,#+1
B.N ??I2C_GetITStatus_3
??I2C_GetITStatus_2:
MOVS R0,#+0
??I2C_GetITStatus_3:
POP {R4-R6,PC} ;; return
Nop
DATA
??I2C_GetITStatus_1:
DC32 0x451
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable74:
DC32 `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
RSEG CODE:CODE:NOROOT(2)
THUMB
I2C_ClearITPendingBit:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
MOVS R0,#+0
MOVS R1,#+0
LDR.N R2,??DataTable75 ;; 0x10008000
CMP R5,R2
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R0,??DataTable76 ;; 0x10004000
CMP R5,R0
BEQ.N ??I2C_ClearITPendingBit_0
CMP R5,#+268439552
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R0,??DataTable77 ;; 0x10000800
CMP R5,R0
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R0,??DataTable78 ;; 0x10000400
CMP R5,R0
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R0,??DataTable79 ;; 0x10000200
CMP R5,R0
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R0,??DataTable80 ;; 0x10000100
CMP R5,R0
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R0,??DataTable81 ;; 0x60000010
CMP R5,R0
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R0,??DataTable82 ;; 0x20000008
CMP R5,R0
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R0,??DataTable83 ;; 0x60000004
CMP R5,R0
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R0,??DataTable84 ;; 0xffffffffa0000002
CMP R5,R0
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R0,??DataTable85 ;; 0x20000001
CMP R5,R0
BEQ.N ??I2C_ClearITPendingBit_0
LDR.N R1,??I2C_ClearITPendingBit_1 ;; 0x489
LDR.N R0,??DataTable86 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??I2C_ClearITPendingBit_0:
LSLS R0,R5,#+8 ;; ZeroExtS R0,R5,#+8,#+8
LSRS R0,R0,#+8
MOVS R1,R5
LSRS R1,R1,#+28
LSLS R1,R1,#+24 ;; ZeroExtS R1,R1,#+24,#+24
LSRS R1,R1,#+24
CMP R1,#+1
BNE.N ??I2C_ClearITPendingBit_2
LDRH R1,[R4, #+20]
BICS R1,R1,R0
STRH R1,[R4, #+20]
B.N ??I2C_ClearITPendingBit_3
??I2C_ClearITPendingBit_2:
LSLS R1,R1,#+24 ;; ZeroExtS R1,R1,#+24,#+24
LSRS R1,R1,#+24
CMP R1,#+2
BNE.N ??I2C_ClearITPendingBit_4
LDRH R0,[R4, #+20]
B.N ??I2C_ClearITPendingBit_3
??I2C_ClearITPendingBit_4:
LSLS R1,R1,#+24 ;; ZeroExtS R1,R1,#+24,#+24
LSRS R1,R1,#+24
CMP R1,#+6
BNE.N ??I2C_ClearITPendingBit_5
LDRH R0,[R4, #+20]
LDRH R1,[R4, #+0]
ORRS R1,R1,#0x1
STRH R1,[R4, #+0]
B.N ??I2C_ClearITPendingBit_3
??I2C_ClearITPendingBit_5:
LDRH R0,[R4, #+20]
LDRH R1,[R4, #+24]
??I2C_ClearITPendingBit_3:
POP {R4,R5,PC} ;; return
DATA
??I2C_ClearITPendingBit_1:
DC32 0x489
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable75:
DC32 0x10008000
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable76:
DC32 0x10004000
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable77:
DC32 0x10000800
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable78:
DC32 0x10000400
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable79:
DC32 0x10000200
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable80:
DC32 0x10000100
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable81:
DC32 0x60000010
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable82:
DC32 0x20000008
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable83:
DC32 0x60000004
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable84:
DC32 0xffffffffa0000002
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable85:
DC32 0x20000001
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable86:
DC32 `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
RSEG CODE:CODE:NOROOT(2)
THUMB
??RCC_APB1PeriphResetCmd??rT:
LDR.N R3,??Subroutine0_0 ;; RCC_APB1PeriphResetCmd
BX R3
DATA
??Subroutine0_0:
DC32 RCC_APB1PeriphResetCmd
RSEG CODE:CODE:NOROOT(2)
THUMB
??assert_failed??rT:
LDR.N R3,??Subroutine1_0 ;; assert_failed
BX R3
DATA
??Subroutine1_0:
DC32 assert_failed
RSEG CODE:CODE:NOROOT(2)
THUMB
??RCC_GetClocksFreq??rT:
LDR.N R3,??Subroutine2_0 ;; RCC_GetClocksFreq
BX R3
DATA
??Subroutine2_0:
DC32 RCC_GetClocksFreq
RSEG DATA_C:CONST:SORT:NOROOT(2)
`?<Constant "C:\\\\David JIANG\\\\ST MCU...">`:
DATA
DC8 43H, 3AH, 5CH, 44H, 61H, 76H, 69H, 64H
DC8 20H, 4AH, 49H, 41H, 4EH, 47H, 5CH, 53H
DC8 54H, 20H, 4DH, 43H, 55H, 5CH, 44H, 6FH
DC8 63H, 73H, 5CH, 53H, 54H, 4DH, 33H, 32H
DC8 5CH, 41H, 4EH, 5FH, 4AH, 49H, 41H, 4EH
DC8 47H, 5CH, 54H, 49H, 4DH, 20H, 45H, 6EH
DC8 63H, 6FH, 64H, 65H, 72H, 5CH, 65H, 78H
DC8 61H, 6DH, 70H, 6CH, 65H, 5CH, 46H, 57H
DC8 4CH, 69H, 62H, 5CH, 73H, 72H, 63H, 5CH
DC8 73H, 74H, 6DH, 33H, 32H, 66H, 31H, 30H
DC8 78H, 5FH, 69H, 32H, 63H, 2EH, 63H, 0
END
//
// 2 566 bytes in segment CODE
// 88 bytes in segment DATA_C
//
// 2 542 bytes of CODE memory (+ 24 bytes shared)
// 88 bytes of CONST memory
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -