ARM学习----指令
来源:互联网 发布:linux sqlcmd 编辑:程序博客网 时间:2024/04/28 21:44
首先,这个是为一个有汇编语言基础的人看的,我在写的过程中希望能有人来为我指点,谢谢帮助我的人。
首先是ARM的指令格式:
所有的ARM指令语句都有这样的格式:
{。。。}{。。。。}{。。。。}
分为三部分,
{symbol} {instruction | directive | pseudo-instruction} {;comment}
这里的,“{}”是指,可选,“|”是指或者。。
每条指令都是以32位二进制数进行编码的。
32位是指ARM本身是32位的处理器。自然指令也设计成32位的,并且也会兼容16位的指令,Thumb集
Thumb集是指除ARM指令集以外,ARM处理器所支持的另一个指令集。它的特点是16位的,代码密度高。
代码密度是指完成同一个功能所需要的代码量大小。
编码是指计算会为每一条汇编指令分别指定一个唯一的二进制序列。32位二进制数组成。
ARM指令的总体分类:六类。
- 数据处理指令
- Load/Store指令
- 跳转指令
- 程序状态寄存器处理指令
- 协处理器指令
- 异常产生指令
ARM指令使用的基本格式:
<opcode>{<cond>}{S} <Rd>, <Rn> {, <operand2>}
<opcode> :是指令码,表示这个指令的作用,
<cond>:是条件位,也就是上文提到的,<cond>它会自动判断CPSR寄存器中的值根据表格进行执行。
{S}:是置位标志,有此标志的指令,在执行后会根据结果,更新CPSR寄存器。
<Rd>:是目标寄存器,存放结果
<Rn>:第1操作数寄存器
{,<operand2>}:第2操作数
第2操作数有可能是一个立即数,也有可能是一个寄存器,这个就是下面我们要讨论的寻址问题。如何找到指令中所指的操作数,是一个大学问,也同时决定了,一个CPU的能力,和水平。也是为程序员所能提供的,操作机器的方式。
ARM的寻址方式
七种寻址方式:
立即寻址、寄存器寻址、寄存器间接寻址、基址加偏址寻址、堆栈寻址、块拷贝寻址、相对寻址。
1.立即寻址:
顾名思义就是“马上”就使用这个“数”去参与指令操作,因为这个“数”不用找,它就放在指令里面。同指令一起编译、解码、执行。
- arm指令学习
- ARM学习----指令
- ARM指令学习2
- ARM伪指令学习
- ARM指令学习
- Android ARM 指令学习
- arm学习笔记三(arm指令集)
- arm学习笔记四(arm伪指令)
- ARM常用汇编指令学习
- arm 指令 学习载录
- ARM汇编-LDR指令学习
- ARM LDR/STR指令学习
- ARM指令集的学习
- ARM 汇编指令学习:[1]ARM指令寻址方式
- ARM 汇编指令学习:[2]ARM指令集
- 三、ARM指令集学习总结
- ARM学习笔记(九)--指令基本格式
- ARM汇编指令学习之开篇
- JSP文件下载
- Project Management in an Agile World
- 物理地址MAC正则表达式
- 如何处理几十万条并发数据?
- 用户权限指派,权限控制页面访问
- ARM学习----指令
- 如何在 Yii 配置中为 MySQL 设置自定义端口
- "#ifndef #define #endif"防止头文件被重复包含
- CSoundBase实现录音与播放
- 53个不传之密
- vc--利用DeviceIoControl向storage发送命令
- 过路口了,请看人看灯看车!
- 如何进行HIBERNATE性能调优
- VS 下 Open Cascade Source Code 编译及自定义工程设置()