swihandler.s
来自「ARM汇编实现软中断」· S 代码 · 共 24 行
S
24 行
AREA swihandler,CODE,READONLY
EXPORT SWIHandler
MAXSWI EQU 2
SWIHandler
STMFD SP!,{R0-R12,LR}
LDR R0,[LR,#-4]
BIC R0,R0,#0XFF000000
CMP R0,#MAXSWI
LDRLE PC,[PC,R0,LSL #2]
B OutOfRange
SWIJumpTable
DCD SWIEND
DCD SWI1
SWI1
LDMFD SP!,{R0-R3}
ADDS R2,R0,R2 ;R2放结果的低位
ADC R3,R1,R3 ;R3放结果的高位
STMFD SP!,{R0-R3}
B SWIEND
OutOfRange
NOP
SWIEND
LDMFD SP!,{R0-R12,PC}^
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?