📄 stm32f10x_can.s79
字号:
MOVS R1,#+3
STRB R1,[R0, #+8]
MOVS R1,#+2
STRB R1,[R0, #+9]
MOVS R1,#+1
STRH R1,[R0, #+10]
BX LR ;; return
RSEG CODE:CODE:NOROOT(2)
THUMB
CAN_ITConfig:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R5,R1
CMP R4,#+1
BEQ.N ??CAN_ITConfig_0
CMP R4,#+2
BEQ.N ??CAN_ITConfig_0
CMP R4,#+4
BEQ.N ??CAN_ITConfig_0
CMP R4,#+8
BEQ.N ??CAN_ITConfig_0
CMP R4,#+16
BEQ.N ??CAN_ITConfig_0
CMP R4,#+32
BEQ.N ??CAN_ITConfig_0
CMP R4,#+64
BEQ.N ??CAN_ITConfig_0
CMP R4,#+256
BEQ.N ??CAN_ITConfig_0
CMP R4,#+512
BEQ.N ??CAN_ITConfig_0
CMP R4,#+1024
BEQ.N ??CAN_ITConfig_0
CMP R4,#+2048
BEQ.N ??CAN_ITConfig_0
CMP R4,#+32768
BEQ.N ??CAN_ITConfig_0
CMP R4,#+65536
BEQ.N ??CAN_ITConfig_0
CMP R4,#+131072
BEQ.N ??CAN_ITConfig_0
LDR.N R1,??CAN_ITConfig_1 ;; 0x17d
LDR.N R0,??DataTable71 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??CAN_ITConfig_0:
CMP R5,#+0
BEQ.N ??CAN_ITConfig_2
CMP R5,#+1
BEQ.N ??CAN_ITConfig_2
MOVS R1,#+382
LDR.N R0,??DataTable71 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??CAN_ITConfig_2:
CMP R5,#+0
BEQ.N ??CAN_ITConfig_3
LDR.N R0,??DataTable75 ;; CAN
LDR R0,[R0, #+0]
LDR.N R1,??DataTable75 ;; CAN
LDR R1,[R1, #+0]
LDR R1,[R1, #+20]
ORRS R4,R4,R1
STR R4,[R0, #+20]
B.N ??CAN_ITConfig_4
??CAN_ITConfig_3:
LDR.N R0,??DataTable75 ;; CAN
LDR R0,[R0, #+0]
LDR.N R1,??DataTable75 ;; CAN
LDR R1,[R1, #+0]
LDR R1,[R1, #+20]
BICS R1,R1,R4
STR R1,[R0, #+20]
??CAN_ITConfig_4:
POP {R4,R5,PC} ;; return
Nop
DATA
??CAN_ITConfig_1:
DC32 0x17d
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable71:
DC32 `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
RSEG CODE:CODE:NOROOT(2)
DATA
??DataTable75:
DC32 CAN
RSEG CODE:CODE:NOROOT(2)
THUMB
CAN_Transmit:
PUSH {R4,R5,LR}
MOVS R4,R0
MOVS R0,#+0
LDR R1,[R4, #+0]
CMP R1,#+2048
BCC.N ??CAN_Transmit_0
MOVS R1,#+410
LDR.N R0,??DataTable106 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??CAN_Transmit_0:
LDR R0,[R4, #+4]
CMP R0,#+262144
BCC.N ??CAN_Transmit_1
LDR.N R1,??CAN_Transmit_2 ;; 0x19b
LDR.N R0,??DataTable106 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??CAN_Transmit_1:
LDRB R0,[R4, #+8]
CMP R0,#+0
BEQ.N ??CAN_Transmit_3
LDRB R0,[R4, #+8]
CMP R0,#+4
BEQ.N ??CAN_Transmit_3
MOVS R1,#+412
LDR.N R0,??DataTable106 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??CAN_Transmit_3:
LDRB R0,[R4, #+9]
CMP R0,#+0
BEQ.N ??CAN_Transmit_4
LDRB R0,[R4, #+9]
CMP R0,#+2
BEQ.N ??CAN_Transmit_4
LDR.N R1,??CAN_Transmit_2+0x4 ;; 0x19d
LDR.N R0,??DataTable106 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??CAN_Transmit_4:
LDRB R0,[R4, #+10]
CMP R0,#+9
BCC.N ??CAN_Transmit_5
MOVS R1,#+414
LDR.N R0,??DataTable106 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??CAN_Transmit_5:
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
LSLS R0,R0,#+5
BPL.N ??CAN_Transmit_6
MOVS R0,#+0
B.N ??CAN_Transmit_7
??CAN_Transmit_6:
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
LSLS R0,R0,#+4
BPL.N ??CAN_Transmit_8
MOVS R0,#+1
B.N ??CAN_Transmit_7
??CAN_Transmit_8:
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
LSLS R0,R0,#+3
BPL.N ??CAN_Transmit_9
MOVS R0,#+2
B.N ??CAN_Transmit_7
??CAN_Transmit_9:
MOVS R0,#+4
??CAN_Transmit_7:
CMP R0,#+4
BEQ.W ??CAN_Transmit_10
LDR R1,[R4, #+0]
LSLS R1,R1,#+21 ;; ZeroExtS R1,R1,#+21,#+21
LSRS R1,R1,#+21
STR R1,[R4, #+0]
LDR R1,[R4, #+0]
LSLS R1,R1,#+21
STR R1,[R4, #+0]
LDR R1,[R4, #+4]
LSLS R1,R1,#+14 ;; ZeroExtS R1,R1,#+14,#+14
LSRS R1,R1,#+14
STR R1,[R4, #+4]
LDR R1,[R4, #+4]
LSLS R1,R1,#+3
STR R1,[R4, #+4]
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R1,#+16
LDR.N R2,??DataTable115 ;; CAN
LDR R2,[R2, #+0]
MLA R1,R0,R1,R2
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R2,#+16
LDR.N R3,??DataTable115 ;; CAN
LDR R3,[R3, #+0]
MLA R2,R0,R2,R3
LDR R2,[R2, #+384]
MOVS R3,#+1
ANDS R3,R3,R2
STR R3,[R1, #+384]
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R1,#+16
LDR.N R2,??DataTable115 ;; CAN
LDR R2,[R2, #+0]
MLA R1,R0,R1,R2
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R2,#+16
LDR.N R3,??DataTable115 ;; CAN
LDR R3,[R3, #+0]
MLA R2,R0,R2,R3
LDR R2,[R2, #+384]
LDR R3,[R4, #+0]
LDR R5,[R4, #+4]
ORRS R5,R5,R3
LDRB R3,[R4, #+8]
ORRS R3,R3,R5
LDRB R5,[R4, #+9]
ORRS R5,R5,R3
ORRS R5,R5,R2
STR R5,[R1, #+384]
LDRB R1,[R4, #+10]
LSLS R1,R1,#+28 ;; ZeroExtS R1,R1,#+28,#+28
LSRS R1,R1,#+28
STRB R1,[R4, #+10]
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R1,#+16
LDR.N R2,??DataTable115 ;; CAN
LDR R2,[R2, #+0]
MLA R1,R0,R1,R2
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R2,#+16
LDR.N R3,??DataTable115 ;; CAN
LDR R3,[R3, #+0]
MLA R2,R0,R2,R3
LDR R2,[R2, #+388]
MOVS R3,#+15
BICS R2,R2,R3
STR R2,[R1, #+388]
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R1,#+16
LDR.N R2,??DataTable115 ;; CAN
LDR R2,[R2, #+0]
MLA R1,R0,R1,R2
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R2,#+16
LDR.N R3,??DataTable115 ;; CAN
LDR R3,[R3, #+0]
MLA R2,R0,R2,R3
LDR R2,[R2, #+388]
LDRB R3,[R4, #+10]
ORRS R3,R3,R2
STR R3,[R1, #+388]
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R1,#+16
LDR.N R2,??DataTable115 ;; CAN
LDR R2,[R2, #+0]
MLA R1,R0,R1,R2
LDRB R2,[R4, #+14]
LDRB R3,[R4, #+13]
LSLS R3,R3,#+16
ORRS R2,R3,R2, LSL #+24
LDRB R3,[R4, #+12]
ORRS R2,R2,R3, LSL #+8
LDRB R3,[R4, #+11]
ORRS R3,R3,R2
STR R3,[R1, #+392]
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R1,#+16
LDR.N R2,??DataTable115 ;; CAN
LDR R2,[R2, #+0]
MLA R1,R0,R1,R2
LDRB R2,[R4, #+18]
LDRB R3,[R4, #+17]
LSLS R3,R3,#+16
ORRS R2,R3,R2, LSL #+24
LDRB R3,[R4, #+16]
ORRS R2,R2,R3, LSL #+8
LDRB R3,[R4, #+15]
ORRS R3,R3,R2
STR R3,[R1, #+396]
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R1,#+16
LDR.N R2,??DataTable115 ;; CAN
LDR R2,[R2, #+0]
MLA R1,R0,R1,R2
LSLS R0,R0,#+24 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+24
MOVS R2,#+16
LDR.N R3,??DataTable115 ;; CAN
LDR R3,[R3, #+0]
MLA R2,R0,R2,R3
LDR R2,[R2, #+384]
ORRS R2,R2,#0x1
STR R2,[R1, #+384]
??CAN_Transmit_10:
POP {R4,R5,PC} ;; return
Nop
DATA
??CAN_Transmit_2:
DC32 0x19b
DC32 0x19d
RSEG CODE:CODE:NOROOT(2)
THUMB
CAN_TransmitStatus:
PUSH {R4,R5,LR}
MOVS R5,R0
MOVS R4,#+0
CMP R5,#+3
BCC.N ??CAN_TransmitStatus_0
LDR.N R1,??CAN_TransmitStatus_1 ;; 0x1e3
LDR.N R0,??DataTable106 ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
_BLF assert_failed,??assert_failed??rT
??CAN_TransmitStatus_0:
CMP R5,#+0
BEQ.N ??CAN_TransmitStatus_2
CMP R5,#+1
BEQ.N ??CAN_TransmitStatus_3
CMP R5,#+2
BEQ.N ??CAN_TransmitStatus_4
B.N ??CAN_TransmitStatus_5
??CAN_TransmitStatus_2:
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
MOVS R1,#+1
ANDS R1,R1,R0
ORRS R4,R4,R1, LSL #+2
MOVS R1,R4
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
MOVS R4,#+2
ANDS R4,R4,R0
ORRS R4,R4,R1
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
MOVS R1,#+67108864
ANDS R1,R1,R0
ORRS R4,R4,R1, LSR #+26
B.N ??CAN_TransmitStatus_6
??CAN_TransmitStatus_3:
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
MOVS R1,#+256
ANDS R1,R1,R0
ORRS R4,R4,R1, LSR #+6
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
MOVS R1,#+512
ANDS R1,R1,R0
ORRS R4,R4,R1, LSR #+8
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
MOVS R1,#+134217728
ANDS R1,R1,R0
ORRS R4,R4,R1, LSR #+27
B.N ??CAN_TransmitStatus_6
??CAN_TransmitStatus_4:
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
MOVS R1,#+65536
ANDS R1,R1,R0
ORRS R4,R4,R1, LSR #+14
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
MOVS R1,#+131072
ANDS R1,R1,R0
ORRS R4,R4,R1, LSR #+16
LDR.N R0,??DataTable115 ;; CAN
LDR R0,[R0, #+0]
LDR R0,[R0, #+8]
MOVS R1,#+268435456
ANDS R1,R1,R0
ORRS R4,R4,R1, LSR #+28
B.N ??CAN_TransmitStatus_6
??CAN_TransmitStatus_5:
MOVS R4,#+0
??CAN_TransmitStatus_6:
CMP R4,#+0
BEQ.N ??CAN_TransmitStatus_7
CMP R4,#+5
BEQ.N ??CAN_TransmitStatus_8
CMP R4,#+7
BEQ.N ??CAN_TransmitStatus_9
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -