arm学习小知识点汇总
来源:互联网 发布:linux的date命令 编辑:程序博客网 时间:2024/06/05 14:19
有什么错误希望大家指出来,一起学习;
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):程序计数器;用于控制程序中指令的执行顺序,其指向下下条指令
- arm学习小知识点汇总
- opencv学习(0)小知识点汇总
- Android小知识点汇总
- ios 小知识点汇总
- Windows 小知识点汇总
- 小知识点汇总
- XML小知识点汇总
- Easyui小知识点汇总
- 小知识点汇总
- 小知识点汇总
- Python 学习过程一些小的知识点汇总 备忘
- C/C++小知识点汇总
- [python] Python小知识点汇总
- android小知识点汇总贴
- iOS开发小知识点汇总
- 小知识点汇总(实时更新)
- Python日常知识点小汇总
- 机器学习知识点汇总
- C#中转换函数Convert、Parse、TryParse、(int) 的区别
- 任意输入两个数(实数),求出它们的和差积商
- Android程序在android-x86上调试
- 因缺少icu导致在wince上启动ASA出现安全错误立即终止
- fibonacci数列(二) nyoj 数学
- arm学习小知识点汇总
- 指针++*p++
- IOS开发之---static变量
- 京东李鹏涛:如何迎接“双十一”电商饕餮盛宴
- #include<>和#include “”的区别
- 输入圆的半径,求出该半径的圆的周长和面积并输出
- 泛型算法
- Vmware10下安装Mac OS X Mountain Lion10.8.5
- 解决fatal: No remote repository specified. Please, specify either a URL...