📄 stm32f10x_nvic.s
字号:
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable21:
DC32 0xe000ed04
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_GetIRQChannelActiveBitStatus:
PUSH {R0,R4}
MOVS R1,R0
MOVS R3,#+0
MOVS R0,R3
MOVS R3,#+0
MOVS R2,R3
MOVS R3,#+1
LSLS R4,R1,#+27 ;; ZeroExtS R4,R1,#+27,#+27
LSRS R4,R4,#+27
LSLS R3,R3,R4
MOVS R2,R3
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
ASRS R3,R1,#+5
MOVS R4,#+4
MULS R3,R4,R3
LDR.N R4,??NVIC_GetIRQChannelActiveBitStatus_0 ;; 0xe000e300
LDR R3,[R4, R3]
ANDS R3,R3,R2
CMP R3,R2
BNE.N ??NVIC_GetIRQChannelActiveBitStatus_1
MOVS R3,#+1
MOVS R0,R3
B.N ??NVIC_GetIRQChannelActiveBitStatus_2
??NVIC_GetIRQChannelActiveBitStatus_1:
MOVS R3,#+0
MOVS R0,R3
??NVIC_GetIRQChannelActiveBitStatus_2:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
ADD SP,SP,#+4
POP {R4}
BX LR ;; return
Nop
DATA
??NVIC_GetIRQChannelActiveBitStatus_0:
DC32 0xe000e300
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_GetCPUID:
LDR.N R0,??NVIC_GetCPUID_0 ;; 0xe000ed00
LDR R0,[R0, #+0]
BX LR ;; return
Nop
DATA
??NVIC_GetCPUID_0:
DC32 0xe000ed00
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_SetVectorTable:
LDR.N R2,??NVIC_SetVectorTable_0 ;; 0x1fffff80
ANDS R2,R2,R1
ORRS R2,R2,R0
LDR.N R3,??DataTable22 ;; 0xe000ed08
STR R2,[R3, #+0]
BX LR ;; return
DATA
??NVIC_SetVectorTable_0:
DC32 0x1fffff80
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable22:
DC32 0xe000ed08
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_GenerateSystemReset:
LDR.N R0,??DataTable24 ;; 0xe000ed0c
LDR.N R1,??NVIC_GenerateSystemReset_0 ;; 0x5fa0004
STR R1,[R0, #+0]
BX LR ;; return
DATA
??NVIC_GenerateSystemReset_0:
DC32 0x5fa0004
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_GenerateCoreReset:
LDR.N R0,??DataTable24 ;; 0xe000ed0c
LDR.N R1,??NVIC_GenerateCoreReset_0 ;; 0x5fa0001
STR R1,[R0, #+0]
BX LR ;; return
DATA
??NVIC_GenerateCoreReset_0:
DC32 0x5fa0001
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable24:
DC32 0xe000ed0c
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_SystemLPConfig:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+0
BEQ.N ??NVIC_SystemLPConfig_0
LDR.N R2,??DataTable28 ;; 0xe000ed10
LDR R2,[R2, #+0]
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
ORRS R2,R2,R0
LDR.N R3,??DataTable28 ;; 0xe000ed10
STR R2,[R3, #+0]
B.N ??NVIC_SystemLPConfig_1
??NVIC_SystemLPConfig_0:
LDR.N R2,??DataTable28 ;; 0xe000ed10
LDR R2,[R2, #+0]
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
BICS R2,R2,R0
LDR.N R3,??DataTable28 ;; 0xe000ed10
STR R2,[R3, #+0]
??NVIC_SystemLPConfig_1:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable28:
DC32 0xe000ed10
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_SystemHandlerConfig:
PUSH {R0,R4}
MOVS R3,#+0
MOVS R2,R3
MOVS R3,#+1
MOVS R4,R0
LSLS R4,R4,#+27 ;; ZeroExtS R4,R4,#+27,#+27
LSRS R4,R4,#+27
LSLS R3,R3,R4
MOVS R2,R3
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+0
BEQ.N ??NVIC_SystemHandlerConfig_0
LDR.N R3,??DataTable32 ;; 0xe000ed24
LDR R3,[R3, #+0]
ORRS R3,R3,R2
LDR.N R4,??DataTable32 ;; 0xe000ed24
STR R3,[R4, #+0]
B.N ??NVIC_SystemHandlerConfig_1
??NVIC_SystemHandlerConfig_0:
LDR.N R3,??DataTable32 ;; 0xe000ed24
LDR R3,[R3, #+0]
BICS R3,R3,R2
LDR.N R4,??DataTable32 ;; 0xe000ed24
STR R3,[R4, #+0]
??NVIC_SystemHandlerConfig_1:
ADD SP,SP,#+4
POP {R4}
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable32:
DC32 0xe000ed24
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_SystemHandlerPriorityConfig:
PUSH {R4-R9}
MOV R8,R0
MOV R9,R2
MOVS R0,#+0
MOVS R2,R0
MOVS R0,#+255
MOVS R3,R0
MOVS R0,#+0
MOVS R4,R0
MOVS R0,#+0
MOVS R5,R0
LDR.N R0,??NVIC_SystemHandlerPriorityConfig_0 ;; 0xe000ed0c
LDR R0,[R0, #+0]
ANDS R0,R0,#0x700
RSBS R0,R0,#+1792
LSRS R5,R0,#+8
MOVS R0,#+4
SUBS R0,R0,R5
MOVS R2,R0
LSRS R3,R3,R5
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
MOVS R0,R1
LSLS R0,R0,R2
MOVS R5,R0
MOVS R0,R5
MOV R5,R9
UXTB R5,R5 ;; ZeroExtS R5,R5,#+24,#+24
ANDS R5,R5,R3
ORRS R5,R5,R0
LSLS R5,R5,#+4
ANDS R2,R8,#0xC0
LSRS R2,R2,#+6
LSRS R0,R8,#+8
LSLS R0,R0,#+30 ;; ZeroExtS R0,R0,#+30,#+30
LSRS R0,R0,#+30
MOVS R3,R0
MOVS R0,R3
MOVS R6,#+8
MULS R0,R6,R0
LSLS R5,R5,R0
MOVS R0,#+255
MOVS R6,R3
MOVS R7,#+8
MULS R6,R7,R6
LSLS R0,R0,R6
MOVS R4,R0
MOVS R0,#+4
MULS R0,R2,R0
LDR.N R6,??NVIC_SystemHandlerPriorityConfig_0+0x4 ;; 0xe000ed18
LDR R0,[R6, R0]
BICS R0,R0,R4
MOVS R6,#+4
MULS R6,R2,R6
LDR.N R7,??NVIC_SystemHandlerPriorityConfig_0+0x4 ;; 0xe000ed18
STR R0,[R7, R6]
MOVS R0,#+4
MULS R0,R2,R0
LDR.N R6,??NVIC_SystemHandlerPriorityConfig_0+0x4 ;; 0xe000ed18
LDR R0,[R6, R0]
ORRS R0,R0,R5
MOVS R6,#+4
MULS R6,R2,R6
LDR.N R7,??NVIC_SystemHandlerPriorityConfig_0+0x4 ;; 0xe000ed18
STR R0,[R7, R6]
POP {R4-R9}
BX LR ;; return
DATA
??NVIC_SystemHandlerPriorityConfig_0:
DC32 0xe000ed0c
DC32 0xe000ed18
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_GetSystemHandlerPendingBitStatus:
PUSH {R4,R5}
MOVS R2,R0
MOVS R1,#+0
MOVS R0,R1
MOVS R1,#+0
MOVS R3,R1
MOVS R1,#+0
MOVS R4,R1
LSRS R4,R2,#+10
LSLS R4,R4,#+28 ;; ZeroExtS R4,R4,#+28,#+28
LSRS R4,R4,#+28
MOVS R5,#+1
MOVS R1,R4
MOVS R4,R5
LSLS R4,R4,R1
LDR.N R1,??NVIC_GetSystemHandlerPendingBitStatus_0 ;; 0xe000ed24
LDR R1,[R1, #+0]
ANDS R1,R1,R4
MOVS R3,R1
CMP R3,R4
BNE.N ??NVIC_GetSystemHandlerPendingBitStatus_1
MOVS R1,#+1
MOVS R0,R1
B.N ??NVIC_GetSystemHandlerPendingBitStatus_2
??NVIC_GetSystemHandlerPendingBitStatus_1:
MOVS R1,#+0
MOVS R0,R1
??NVIC_GetSystemHandlerPendingBitStatus_2:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
POP {R4,R5}
BX LR ;; return
Nop
DATA
??NVIC_GetSystemHandlerPendingBitStatus_0:
DC32 0xe000ed24
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_SetSystemHandlerPendingBit:
MOVS R2,#+0
MOVS R1,R2
LSLS R2,R0,#+27 ;; ZeroExtS R2,R0,#+27,#+27
LSRS R2,R2,#+27
MOVS R1,R2
LDR.N R2,??NVIC_SetSystemHandlerPendingBit_0 ;; 0xe000ed04
LDR R2,[R2, #+0]
MOVS R3,#+1
LSLS R3,R3,R1
ORRS R3,R3,R2
LDR.N R2,??NVIC_SetSystemHandlerPendingBit_0 ;; 0xe000ed04
STR R3,[R2, #+0]
BX LR ;; return
Nop
DATA
??NVIC_SetSystemHandlerPendingBit_0:
DC32 0xe000ed04
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_ClearSystemHandlerPendingBit:
PUSH {R0,R4}
MOVS R2,#+0
MOVS R1,R2
LSLS R2,R0,#+27 ;; ZeroExtS R2,R0,#+27,#+27
LSRS R2,R2,#+27
MOVS R1,R2
LDR.N R2,??NVIC_ClearSystemHandlerPendingBit_0 ;; 0xe000ed04
LDR R2,[R2, #+0]
MOVS R3,#+1
MOVS R4,R1
SUBS R4,R4,#+1
LSLS R3,R3,R4
ORRS R3,R3,R2
LDR.N R2,??NVIC_ClearSystemHandlerPendingBit_0 ;; 0xe000ed04
STR R3,[R2, #+0]
ADD SP,SP,#+4
POP {R4}
BX LR ;; return
DATA
??NVIC_ClearSystemHandlerPendingBit_0:
DC32 0xe000ed04
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_GetSystemHandlerActiveBitStatus:
PUSH {R4,R5}
MOVS R2,R0
MOVS R1,#+0
MOVS R0,R1
MOVS R1,#+0
MOVS R3,R1
MOVS R1,#+0
MOVS R4,R1
LSRS R1,R2,#+14
LSLS R1,R1,#+28 ;; ZeroExtS R1,R1,#+28,#+28
LSRS R1,R1,#+28
MOVS R4,R1
MOVS R5,#+1
MOVS R1,R4
MOVS R4,R5
LSLS R4,R4,R1
LDR.N R1,??NVIC_GetSystemHandlerActiveBitStatus_0 ;; 0xe000ed24
LDR R1,[R1, #+0]
ANDS R1,R1,R4
MOVS R3,R1
CMP R3,R4
BNE.N ??NVIC_GetSystemHandlerActiveBitStatus_1
MOVS R1,#+1
MOVS R0,R1
B.N ??NVIC_GetSystemHandlerActiveBitStatus_2
??NVIC_GetSystemHandlerActiveBitStatus_1:
MOVS R1,#+0
MOVS R0,R1
??NVIC_GetSystemHandlerActiveBitStatus_2:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
POP {R4,R5}
BX LR ;; return
DATA
??NVIC_GetSystemHandlerActiveBitStatus_0:
DC32 0xe000ed24
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_GetFaultHandlerSources:
PUSH {R0,R4-R6}
MOVS R1,R0
MOVS R4,#+0
MOVS R0,R4
MOVS R4,#+0
MOVS R2,R4
MOVS R4,#+0
MOVS R3,R4
LSRS R4,R1,#+18
LSLS R4,R4,#+30 ;; ZeroExtS R4,R4,#+30,#+30
LSRS R4,R4,#+30
MOVS R2,R4
LSRS R4,R1,#+20
LSLS R4,R4,#+30 ;; ZeroExtS R4,R4,#+30,#+30
LSRS R4,R4,#+30
MOVS R3,R4
CMP R2,#+0
BNE.N ??NVIC_GetFaultHandlerSources_0
LDR.N R4,??NVIC_GetFaultHandlerSources_1 ;; 0xe000ed2c
LDR R4,[R4, #+0]
MOVS R0,R4
B.N ??NVIC_GetFaultHandlerSources_2
??NVIC_GetFaultHandlerSources_0:
CMP R2,#+1
BNE.N ??NVIC_GetFaultHandlerSources_3
LDR.N R4,??NVIC_GetFaultHandlerSources_1+0x4 ;; 0xe000ed28
LDR R4,[R4, #+0]
MOVS R5,R3
MOVS R6,#+8
MULS R5,R6,R5
LSRS R4,R4,R5
MOVS R0,R4
CMP R3,#+2
BEQ.N ??NVIC_GetFaultHandlerSources_4
LSLS R0,R0,#+28 ;; ZeroExtS R0,R0,#+28,#+28
LSRS R0,R0,#+28
B.N ??NVIC_GetFaultHandlerSources_2
??NVIC_GetFaultHandlerSources_4:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
B.N ??NVIC_GetFaultHandlerSources_2
??NVIC_GetFaultHandlerSources_3:
LDR.N R4,??NVIC_GetFaultHandlerSources_1+0x8 ;; 0xe000ed30
LDR R4,[R4, #+0]
MOVS R0,R4
??NVIC_GetFaultHandlerSources_2:
ADD SP,SP,#+4
POP {R4-R6}
BX LR ;; return
DATA
??NVIC_GetFaultHandlerSources_1:
DC32 0xe000ed2c
DC32 0xe000ed28
DC32 0xe000ed30
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVIC_GetFaultAddress:
PUSH {R0,R4}
MOVS R1,R0
MOVS R3,#+0
MOVS R0,R3
MOVS R3,#+0
MOVS R2,R3
LSRS R3,R1,#+22
MOVS R4,#+1
ANDS R4,R4,R3
MOVS R2,R4
CMP R2,#+0
BNE.N ??NVIC_GetFaultAddress_0
LDR.N R3,??NVIC_GetFaultAddress_1 ;; 0xe000ed34
LDR R3,[R3, #+0]
MOVS R0,R3
B.N ??NVIC_GetFaultAddress_2
??NVIC_GetFaultAddress_0:
LDR.N R3,??NVIC_GetFaultAddress_1+0x4 ;; 0xe000ed38
LDR R3,[R3, #+0]
MOVS R0,R3
??NVIC_GetFaultAddress_2:
ADD SP,SP,#+4
POP {R4}
BX LR ;; return
DATA
??NVIC_GetFaultAddress_1:
DC32 0xe000ed34
DC32 0xe000ed38
END
//
// 1 342 bytes in section .XML
//
// 1 342 bytes of CODE memory
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -