vector.s

来自「LPC2220实用启动代码」· S 代码 · 共 55 行

S
55
字号
; *****************************************************************************
; *																			  *
; *								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 + =
减小字号Ctrl + -
显示快捷键?