1.什么是异常源?
引发处理器进入对应的异常模式
2.异常源和异常模式的对应关系
1.五种异常模式,七种异常源 ;
2.根据不同的异常源,引发处理器进入不同的异常模式,执行异常处理函数
3.异常源具有优先级,复位的优先级最高
3.异常处理流程
保存现场:
恢复现场:
4.为什么引入异常向量表
5.swi软中断指令
例子:
.text
.global _start
_start:
@1.构建异常向量表
b reset
b undef_interrupt
b software_interrupt
b prefetch_d服务器托管网ataabort
b data_abort
b .
b irq
b fiq
reset:
@2.系统一上电,程序运行在SVC模式
@1> 初始化SVC模式下,栈指针
ldr sp,=0x40000800
@3.从SVC模式切换到user模式
msr cpsr,#0xD0
@4.user模式下代码
@1> 初始化user模式下,栈指针
ldr sp,=0x40000700
mov r0,#0x1
mov r1,#0x2
@4.执行软中断指令 ===> 保存现场(四大步三小步)
swi 2
add r0,r0,r1 @ r0 = 0x3
b stop
undef_interrupt:
software_interrupt:
@压栈保存现场
stmfd sp!,{r0-r12,lr}
mov r0,#0x3
mov r1,#0x4
add r0,r0,r1 @ r0 = 0x7
@出栈恢复现场
ldmfd sp!,{r0-r12,pc}^
@^:将SPSR_寄存器中的值,给到CPSR寄存器中
prefetch_dataabort服务器托管网:
data_abort:
irq:
fiq:
stop:
b stop
.end
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
为了保护用户权益和提供更好的用户体验,设置一些必填项和必读协议是非常必要的。首先,用户必须阅读服务协议。服务协议是明确规定用户和商家之间权益和义务的文件。通过要求用户在下单前必须同意协议,可以确保用户在使用服务之前了解并同意相应的条款和规定。这样一来,用户就不…