欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

arm学习小知识点集锦

更新时间: 2014-01-05 02:34:17 责任编辑: Author_N1

 

arm学习小知识点汇总

有什么错误希望大家指出来,一起学习;


1.详细说明arm有哪几种工作模式,并说明什么情况下进入相应的工作模式运行。
答:
 arm 一共有 7 种工作模式:
 user(用户):
  Mode number :0b10000
  正常程序执行的模式;不能切换到其它模式
 system(系统):
  Mode number :0b11111
  属于特权模式;特权模式间可通过寄存器CPSR切换模式
  运行具有特权操作的系统任务(基于ARMV4架构及以上)
 supervisor(<svc> 管理):
  Mode number :0b10011
  属于特权模式,也属于异常模式;特权模式间可通过寄存器CPSR切换模式
  一种对当前工作系统的保护模式
 abort(中止):
  Mode number :0b10111
  属于特权模式,也属于异常模式;特权模式间可通过寄存器CPSR切换模式
  数据中止:段错误的最低层
  指令预取中止:是取到非法指令时,在执行阶段发现指令被标记,执行指令中止
 undefined(未定义):
  Mode number :0b11011
  属于特权模式,也属于异常模式;特权模式间可通过寄存器CPSR切换模式
  支持硬件协处理器的软件仿真
 interrupt(中断):
  Mode number :0b10010
  属于特权模式,也属于异常模式;特权模式间可通过寄存器CPSR切换模式
  被使用于各种中断相应
 fast interrupt(快速中断):
  Mode number :0b10001
  属于特权模式,也属于异常模式;特权模式间可通过寄存器CPSR切换模式
  支持告诉数据传输程序或告诉通道程序的执行;
 
2.简述arm指令和Thumb指令的区别。
答:
 (1).arm指令都是32位,Thumb指令都是16位的
 (2).arm指令功能强大,绝大多数的指令支持条件执行,eg:mcr;Thumb指令除了跳转指令支持条件执行,其它都不支持
 (3).arm指令能访问某些特殊寄存器(cpsr);Thumb指令不能访问

3.简述寄存器R13,R14,R15的用途。
答:
 R13(sp):堆栈指针寄存器;用于栈相关操作
 R14(lr):连接寄存器;当执行bl子程序调用指令时,lr中得到pc的备份
 R15(pc):程序计数器;用于控制程序中指令的执行顺序,其指向下下条指令

上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:34:17
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/11600/
本文WWW.DOC100.NET DOC100.NET版权所有。