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根据指令中的 ...
随机推荐
- Json序列化
参考文章 C# 解析json的方法 http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-json.html
- Adobe Dreamweaver代码编辑
Adobe Dreamweaver 同义词 DW(Adobe Dreamweaver的缩写)一般指Adobe Dreamweaver Adobe Dreamweaver,简称“DW”,中文名称 &qu ...
- php语言的几种循环语句的使用格式,及其区别
while 只要指定的条件成立,则循环执行代码块 do...while 首先执行一次代码块,然后在指定的条件成立时重复这个循环 for 循环执行代码块指定的次数 foreach 根据数组中每个元素来循 ...
- collections系列
一.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 c = Counter('abcdeabcdabcaba') prin ...
- 获得触发hover事件的元素id
例: <div class="menu"> <ul> <li> <a id="menu1"></a> ...
- update the UI property cross thread
this.Invoke((MethodInvoker)delegate { txtResult.Text = sbd.ToString(); // runs on UI thread });
- tinyhttpd源码分析
我们经常使用网页,作为开发人员我们也部署过httpd服务器,比如开源的apache,也开发过httpd后台服务,比如fastcgi程序,不过对于httpd服务器内部的运行机制,却不是非常了解,前几天看 ...
- 【JS】HTMLprop与attr的区别
与prop一样attr也可以用来获取与设置元素的属性.区别在于,对于自定义属性和选中属性的处理.选中属性指的是 checked,selected 这2种属性1. 对于自定义属性 attr能够获取,pr ...
- 【转载】oracle dbms_metadata.get_ddl的使用方法总结
转自:http://www.jb51.net/article/39715.htm dbms_metadata.get_ddl()用于获取对象的ddl,其具体用法如下. 注意:在sqlplus里,为了更 ...
- java的三大框架(二)---Struts2
Strtu2框架 1.控制器:ActionServlet充当控制层 2.模型层:由ActionForm及业务JavaBean实现 3.视图:用户的看到并与之交互的界面 由struts标签库和jsp ...