ARM上的异常处理和简单汇编

今天看了《ARM嵌入式系统结构与编程》,着重看了关于ARM上的异常处理,简单的把书上我感兴趣的异常和ARM汇编做了一些笔记,以供下次忘了的时候,可以看看。

ARM处理器有7种工作模式:

1,用户模式

2,FIQ模式:快速中断模式

3,IRQ模式:

4,SVC模式

5,中止模式

6,未定义指令异常模式

7系统模式,

ARM有31个通用寄存器,6个状态寄存器,都是32位,其中状态寄存器只用到了其中的14位,可以从网上搜作ARM物理寄存器来产看寄存器的信息。下面简单介绍下几个寄存器的专有用途:

R15:PC寄存器,一直存放当前指令的下两条指令地址,比如当前指令地址是ADDR,则PC=ADDR+8

R12:中间结果保存寄存器,R12一般在子程序连接代码中使用,作为子程序中间结果寄存器

R13:栈指针,也就是SP

R14,称作LR,ARM上有以下两种用途:

1,每种处理器模式的R14上存放当前子程序的返回地址,通过BL或者BLX调用子程序时,R14设置成该程序返回地址,在子程序里,把R14值返回赋值给PC,实现子程序返回,汇编形式如:

MOV PC, LR或者 BX LR

2,发生异常时,R14设置成异常模式返回的地址。

 

ARM状态寄存器有CPSR(当前程序状态寄存器)和S

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值