ARM指令分类及其寻址方式
ARM指令分类及其寻址方式
一:ARM指令的分类
ARM指令集可以分为以下6类:
•跳转指令;
•数据处理指令;
•程序状态寄存器(PSR)传输指令;
•load/store指令;
•协处理器指令;
•异常中断产生指令;
二、ARM指令的一般编码格式
ARM指令字长为固定的32位。一条典型的ARM指令语法格式及编码格式如下:
语法格式:
<opcode>{<cond>}{s} <Rd>,<Rn>,<shifter_operand>
•< opcode>:指令操作符。
• {<cond>}:指令执行的条件。
• {S}:决定指令的操作是否影响CPSR的值。
• <Rd>:目标寄存器。
• <Rn>:包含第一个操作数的寄存器.
• <shifter_operand>: 表示第二个操作数.
编码格式:
31 28|27 25|24 21| 20 |19 16|15 12 | 11 8 7 0
| cond | 001 | opcode | s | Rn | Rd | shifter_operand |
• opcode:指令操作符编码。
• cond:指令执行的条件编码。
• S:决定指令的操作是否影响CPSR的值。
• Rd:目标寄存器编码。
• Rn:包含第一个操作数的寄存器编码.
• shifter_operand: 表示第二个操作数.
三、ARM指令的寻址方式
ARM指令的寻址方式有以下几种:
• 数据处理指令的操作数的寻址方式。
• 字及无符号字节的Load/Store指令的寻址方式。
• 杂类Load/Store指令的寻址方式。
• 批量Load/Store指令的寻址方式。
• 协处理器Load/Store指令的寻址方式。
ARM指令分类及其寻址方式的更多相关文章
- ARM指令分类学习
指令分类: 1.算数和逻辑指令 2.比较指令 3.跳转指令 4.移位指令 5.程序状态字访问指令 6.存储器访问指令 +++++++++++++++++++++++++++++++++++++++++ ...
- 3.2 ARM指令分类学习
1 算术移位寄存器和逻辑指令 1.1 mov 传送(Move) Mov {条件} {S} <dest>, <op_1> MOV从另一个寄存器.被移位的寄存器.或者一个立即数装载 ...
- [国嵌笔记][025][ARM指令分类学习]
算术和逻辑指令 1.mov 格式:mov {条件}{s} <dest>, <op> 作用:把一个值从一个地方移动到另一个地方,<dest>必须是寄存器 示例: @m ...
- 【嵌入式开发】 ARM 汇编 (指令分类 | 伪指令 | 协处理器访问指令)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42408137 转载请著名出处 本博客相关文档下载 : -- AR ...
- ARM指令教程
ARM指令教程 ARM汇编程序特点: l 所有运算处理都是发生通用寄存器(一般是R0~R14)的之中.所有存储器空间(如C语言变量的本质就是一个存储器空间上的几个BYTE).的值的处理 ...
- ARM指令
语法格式 <opcode>{<cond>}{S} <Rd>, <Rn>,<shifter_operand> {}表示是可选的部分,<& ...
- ARM指令学习,王明学learn
ARM指令学习 一.算数和逻辑指令 1— MOV 数据传送指令 2.— MVN 数据取反传送指令 3.— CMP 比较指令 4.— CMN 反值比较指令 5.— TST 位测试 ...
- ARM指令解析
今天我来总结一下arm指令的学习,今天我不会对所有的arm指令进行一一的解析,在这里希望大家去看arm汇编手册,这个手册的中文版我放在了http://download.csdn.net/detail/ ...
- ARM的九种寻址方式
文章目录 1.立即数寻址 2.寄存器寻址 3.寄存器间接寻址 4.寄存器偏移寻址 5.寄存器基址变址寻址 6.批量寄存器寻址 7.相对寻址 8.堆栈寻址 9.块拷贝寻址 寻址方式就是CPU根据指令中的 ...
随机推荐
- map 容器的使用
C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值. 一.map的说明 1 头文件 #include <map> ...
- <转>Win7系统下利用U盘安装Ubuntu_12.04实现双系统教程
目前网上流传的关于Linux 系统的安装教程可是说是五彩缤纷,之前想采用硬盘安装方式,由于配置问题未能正确安装,现研究了下U盘安装,根据互联网上的一些资料及自己的总结,在Windows7 系统下采用U ...
- CSS各种定位详解
1.定位的专业解释 (1)语法 position:static|absolute|fixed|relative (2)说明 从上面语法可以看出,定位的方法有很多种,它们分别是静态(static),绝对 ...
- css3-实现3D立方体旋转
核心内容: 1.CSS3 中 animation.perspective 属性的熟练运用. 2.CSS3 中的变形属性 transform,在 3D 立体效果中的运用. 3.3D 立方体旋转实现原理. ...
- 第三个Sprint冲刺github 与最终 github
链接:https://github.com/22shaojiawen/the-third-sprint-project
- (原创)VM中的CentOS6.4中安装CloudStack6.3①
CloudStack是一个功能强大.UI友好的开源云(IaaS)计算解决方案.自Ctrix将CloudStack捐献给 apache 后,一直持续高速发展,其社区活跃度已经渐渐赶上风头一时无两的另一开 ...
- extJS起步
万事开头难,不过还好有解决办法——参考如下文章 http://blog.csdn.net/leimengyuanlian/article/details/18748599 可以快速搭建好eclipse ...
- EMV文档:接收到的ATR不在EMV规定范围,终端需要的操作
Required terminal behaviour in the event that a terminal receives characters outside the range allow ...
- Collections.reverse 代码思考-超越昨天的自己系列(13)
点进Collections.reverse的代码瞄了眼,然后就开始了一些基础知识的收集. 现在发现知道的越多,知道不知道的越多. 列几个记录下: reverse方法源码: /** * Reverses ...
- js的事件委托
什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事 ...