arm处理器指令各自有什么作用?

您所在的位置:网站首页 ide的作用 arm处理器指令各自有什么作用?

arm处理器指令各自有什么作用?

#arm处理器指令各自有什么作用?| 来源: 网络整理| 查看: 265

ARM微处理器的指令集是加载/存储型的,也即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。ARM微处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令六大类。

ARM助记符指令及其功能描述:ADC带进位加法指令ADD加法指令AND逻辑与指令B跳转指令BIC位清零指令BL带返回的跳转指令BLX带返回和状态切换的跳转指令BX带状态切换的跳转指令CDP协处理器数据操作指令CMN比较反值指令CMP比较指令EOR异或指令LDC存储器到协处理器的数据传输指令LDM加载多个寄存器指令LDR存储器到寄存器的数据传输指令MCR从ARM寄存器到协处理器寄存器的数据传输指令MLA乘加运算指令MOV数据传送指令MRC从协处理器寄存器到ARM寄存器的数据传输指令MRS传送CPSR或SPSR的内容到通用寄存器指令MSR传送通用寄存器到CPSR或SPSR的指令MUL32位乘法指令MLA32位乘加指令MVN数据取反传送指令ORR逻辑或指令RSB逆向减法指令RSC带借位的逆向减法指令SBC带借位减法指令STC协处理器寄存器写入存储器指令STM批量内存字写入指令STR寄存器到存储器的数据传输指令SUB减法指令SWI软件中断指令SWP交换指令TEQ相等测试指令TST位测试指令。

一、指令、伪指令

指令:是机器码的助记符,经过汇编器编译为机器码后,可以由CPU执行。

伪指令:用来指导汇编器编译指令,是汇编器的产物,终不会生成机器码。

二、ARM指令的编写风格

汇编代码大写:在Windows中的IDE开发环境中一般都大写。

汇编代码小写:在Linux环境中,好遵循GNU风格,即指令一般用小写。

三、ARM汇编代码文件后缀的大小写问题

Windows环境:因为Windows不区分大小写,所以汇编文件后缀大写、小写编译过程没有区别,即test.S与test.s编译结果一致。

Linux环境:Linux环境是严格区分大小写的,test.S与test.s会被当成不同的文件来处理(处理过程也不一致)。后缀小写的test.s文件,在编译阶段不进行预处理操作,所以不能在这里面写预处理的语句(不能有宏定义等,不常用);后缀大写的test.S文件,会进行预处理、汇编等操作,所以我们可以在这里面加入预处理的命令(比较常用)。

四、ARM汇编指令的格式

ARM汇编指令的格式比较固定、简单,即是:“操作码目标寄存器,操作数1,操作数2,……操作数n”。

例如将十六进制数0xaf放到寄存器r0中,我们用汇编代码可以这样写“mov r0,#0xaf”。这里的“mov”就是操作码(指令),实现的功能是将“0xaf”这个数存放到寄存器中“r0”中,“r0”也即是目标寄存器,“#0xaf”也即是操作数。在这里,“#0xaf”表示立即数(立即寻址方式指令中给出的数称为立即数立即数,亦即是直接参与运算不需处理的数),立即数需要用“#”来标识。

五、常用GNU伪指令

global _start @ 给_start外部链接属性

.section .text @ 指定当前段为代码段

.ascii .byte .short .long .word

.quad .float .string @ 定义数据

.align 4 @ 以4字节对齐

.balignl 16 0xabcdefgh @ 16字节对齐填充

.equ @ 类似于C中宏定义

.end @标识文件结束

.include @ 头文件包含

.arm / .code32 @声明以下为arm指令

.thumb / .code16 @声明以下为thubm指令

ldr 大范围的地址加载指令

adr 小范围的地址加载指令

adrl 中等范围的地址加载指令

nop 空操作

六、常用指令后缀

同一指令经常附带不同后缀,变成不同的指令。经常使用的后缀有:

1、B(byte)功能不变,操作长度变为8位

2、H(half word)功能不变,长度变为16位

3、S(signed)功能不变,操作数变为有符号

4、条件执行后缀

5、“!”与“^”的作用

例如ldr可以加“b”、“h”、“s”变成 ldrb、ldrh、ldrsb、ldrsh用于表示加载8bit数据、16bit数据、有符号8bit数据、有符号16bit数据。

ARM的指令条件执行后缀,特点是条件后缀是否成立取决于当前代码的前面的代码,只影响当前代码的执行。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3