📄 vector.s
字号:
; *****************************************************************************
; * *
; * RAM异常跳转程序 *
; * *
; *****************************************************************************
IMPORT IntSWI
IMPORT IntFIQ
EXPORT Int_Undefined
EXPORT Int_SWI
EXPORT Int_PrefetchAbort
EXPORT Int_DataAbort
EXPORT Int_FIQ
AREA Vector,CODE,READONLY
ENTRY
SPACE 0x40
; -----------------------------------------------------------------------------
; 未定义指令(未定义指令模式)
Int_Undefined
B Int_Undefined
; -----------------------------------------------------------------------------
; 软中断(管理模式)
Int_SWI
STMFD SP!, {R0-R3, LR}
LDR R0, [LR,#-4] ; 获得SWI功能编号放在R0做参数传递
BIC R0, R0, #0xFF000000
BL IntSWI
LDMFD SP!, {R0-R3, LR}
MOVS PC, LR
; -----------------------------------------------------------------------------
; 取指令中止(中止模式)
Int_PrefetchAbort
B Int_PrefetchAbort
; -----------------------------------------------------------------------------
; 取数据中止(中止模式)
Int_DataAbort
B Int_DataAbort
; -----------------------------------------------------------------------------
; 快速中断(FIQ模式)
Int_FIQ
STMFD SP!, {R0-R3, LR}
BL IntFIQ
LDMFD SP!, {R0-R3, LR}
SUBS PC, LR, #4
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -