swi指令验证异常处理流程

@1.构建异常向量表
    b reset
    b undefine
    b software_interrupt
    b prefetch_abort
    b data_abort
    b .
    b irq
    b fiq
    
    @2.异常源---->>标签
fiq:
irq:
data_abort:
prefetch_abort:
software_interrupt:
undefine:
    @1>压栈保存现场
    stmfd sp!,{r0-r12,lr}
    @2>分别对r0,r1寄存器赋值
    mov r0,#0x3
    mov r1,#0x4
    @3>恢复现场
    ldmfd sp!,{r0-r12,pc}^
    @^:代表将SPSR <mode>寄存器中的值,恢复给CPSR
reset:
    @2.svc模式下执行内容
    @3.系统一上电处于svc模式
    @4.从svc模式切换到user模式
    msr cpsr,#0xd0
    @5.user模式实现如下内容
        @1>初始化栈指针
        ldr sp,=0x40008000
        @2>分别对r0,r1寄存器赋值
        mov r0,#0x1
        mov r1,#0x2
        @3>执行软中断指令--->四大步三小步
        swi 2
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值