ARM ® and Thumb ®-2 指令系统
| 指令表关键词 | |||||
| Rm {, <opsh>} | 寄存器移位方式,将寄存器的移位结果作为操作数而Rm值保持不变 | ||||
| <Operand2> | 灵活的使用第二个操作数。移位和循环最合适作为第二操作数的一部分使用 | <reglist> | 由大括号括起来的一些用逗号分割的寄存器列表。如:{ and }. | ||
| <fields> | 查看程序状态寄存器域目录. | <reglist-PC> | 加载或存储的寄存器列表,但不含程序计数器寄存器。 | ||
| <PSR> | 包含CPSR (当前程序状态寄存器) 或SPSR (程序状态保存寄存器) | <reglist+PC> | 须有程序计数器寄存器列表。将SPSR拷贝到CPSR中,用于从异常处理返回。 | ||
| C*, V* | 标志值在V4及之前的架构中是不确定的, 在V5及之后则是不变的. | +/- | 正或负. (+ 有可能被忽略.) | ||
| <Rs|sh> | 可能是Rs或一个可移位的立即数. 值由寄存器中可用的各种移位方式进行 | § | ARM体系结构版本 | ||
| 任意位循环移动得到 | <iflags> | 中断标志. 一个或多个异常,中断,快速中断. | |||
| x,y | B 指寄存器低位 [15:0], 而 T 指高位[31:16]. (Bottom,Top) | <p_mode> | 识别处理机模式 | ||
| <imm8m> | ARM: 32位常数,由一个8位数循环右移偶数位得到。 | SPm | 由<p_mode>区分的处理机模式的堆栈指针 | ||
| Thumb: 32位常数,由一个8位数左移一位或多位数得到。 | <lsb> | 位域的最低有效位 | |||
| 型如以下形式之一: 0xXYXYXYXY, 0x00XY00XY or 0xXY00XY00 | <width> | 位域的宽度. <width> + <lsb> 须<=32 | |||
| <prefix> | 相似指令的前缀 | {X} | RsX 是在x置位时Rs循环移动16位. 否则, RsX=Rs. | ||
| {IA|IB|DA|DB} | 分别指:传送后地址增加, 传送前地址增加, 传送后地址减少, 传送前地址减少4个字节。 | {!} | 若 ! 存在 (预先变址),则数据传送后更新基址寄存器(Rn)。 | ||
| IB和 DA在Thumb状态下是不可用的. 如未指定,默认使用IA. | {S} | 若S存在更新标志位 | |||
| <size> | B , SB, H, or SH, 分别指:字节, 带符号位的字节, 半字, 带符号位的半字。 | {T} | 若T存在给用户模式特权 | ||
| SB 和 SH在STR 指令中不可用。 | {R} | 若R存在恢复最近的结果,否则丢弃结果。 | |||
ARM ® and Thumb ®-2 指令系统的更多相关文章
- ARM 的Thumb状态测试
作为一个使用ARM的学习者,有必要全面了解你的处理器内核.尽管有些内容可能在实际应用中用不到,但是“了解”还是很必要的.Thumb状态,是ARM的一个特色,但是你知道Thumb状态与ARM状态最大的区 ...
- 对于Android NDK编译器ARM和Thumb模式的理解
编译NDK项目时,编译器无法识别arm汇编,设置LOCAL_ARM_MODE := arm后问题解决, NDK文档上对LOCAL_ARM_MODE的说明如下: LOCAL_ARM_MODE By de ...
- ARM处理器的寄存器,ARM与Thumb状态,7中运行模式
** ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 分类: 嵌入式 ARM处理器工作模式一共有 7 种 : USR 模式 正常用户模式,程序正常执行模式 FIQ模式(Fast ...
- ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 【转】
转自:http://blog.chinaunix.net/uid-28458801-id-3494646.html ARM处理器工作模式一共有 7 种 : USR 模式 正常用户模式,程序正常 ...
- ARM指令系统
转载自:http://cxb4224.blog.163.com/blog/static/191224151201110220325976/ ARM处理器的工作状态和工作模式 工作状态 ARM处理器一般 ...
- ARM状态和THUMB状态
ARM处理器的工作状态 在ARM的体系结构中,可以工作在三种不同的状态,一是ARM状态,二是Thumb状态及Thumb-2状态,三是调试状态. <嵌入式系统开发与应用教程(第2版)>上介绍 ...
- [转]ARM/Thumb/Thumb-2
ref:http://kmittal82.wordpress.com/2012/02/17/armthumbthumb-2/ A few months ago I gave a presentatio ...
- 13 ARM指令集与Thumb指令集
指令格式 ARM基本格式 <opcode>{<cond>}{S}{.W|.N}<Rd>,<Rn>{,<operand2>} opecode: ...
- ARM汇编程序中的伪指令
转自http://blog.chinaunix.net/uid-13701930-id-336459.html 4.1 ARM汇编器所支持的伪指令 在ARM汇编语言程序里,有一些特殊指令助记符,这些助 ...
随机推荐
- angular可自定义的对话框,弹窗指令
指令不明的,推荐 AngularJS指令参数详解 github地址 以下为示例代码 <!DOCTYPE html> <html lang="en" ng-app= ...
- [android]解析XML文件的方法有三种:PULL,DOM,SAM
PULL 的工作原理: XML pull提供了开始元素和结束元素.当某个元素开始时,可以调用parser.nextText从XML文档中提取所有字符数据.当解析到一个文档结束时,自动生成EndDocu ...
- TObjectList
AOwnsObjects = true 就是 objectlist释放的时候,里面的对象一并释放. TObjectList对象的创建方法有一个参数:constructor TObjectList.C ...
- 编程六月定律 | 外刊IT评论网
编程六月定律 上周,我被迫对一个很老的项目做一些修改.麻烦是,当开始着手时,我真的记不清这个项目究竟有多老了. 这实际上是我使用Codeigniter实现的第一个MVC项目.打开项目文件后,很多东西都 ...
- Sourcetree配置ssh密钥 - git图形化工具(二)
这里主要介绍Sourcetree如何导入已经生成好的ssh私钥,如何生成ssh私钥自行百度. 如果Sourcetree没有配置ssh密钥,克隆时会提示如下错误: 仓库类型:这是一个无效的源路径/URL ...
- mysql索引(btree索引和hash索引的区别)
所有MySQL列类型可以被索引.根据存储引擎定义每个表的最大索引数和最大索引长度.所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节.大多数存储引擎有更高的限制. 索引的存储类型目前只有 ...
- Cocos2d-x for Windows Phone 用法总结
鉴于诺基亚(微软移动这个没人用的手机)开发者比较少,cocos2dx移植方面更是少的问题,总结一下WP8移植方面的资料,希望对大家有用,自己也当作笔记留念. 1.WP8方面有两种方式创建项目,Hell ...
- 【LOJ】#2244. 「NOI2014」起床困难综合症
题解 写水题放松一下心情 二进制有个很好的性质是每一位是独立的,我们按位贪心,先看这一位能不能填1,然后看看如果这一位填0那么运算后最后这一位是不是1,是的话就退出,然后看看这一位如果填1最后是1这一 ...
- linux开启端口
开放端口的方法: 方法一:命令行方式 1. 开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT ...
- C#导出HTML到PDF组件Pechkin
http://www.knowsky.com/898441.html C#导出PDF功能是开发中经常遇到的功能,我们采用第三方的组件,比如 iTextSharp, aspose等,还能搜到一些开源的类 ...