arm处理器指令各自有什么作用?
RSB指令称为逆向减法指令,用于把操作数2减去操作数1,并将结果存放到目的寄存器中。操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或一个立即数。该指令可用于有符号数或无符号数的减法运算
更多
ARM处理器的指令根据功能可分为多个类别,以下是用中文整理的核心指令类型及作用:
一、数据处理指令
用于算术/逻辑运算和寄存器操作:
- MOV:寄存器间移动数据
MOV R0, R1(将R1值复制到R0) - ADD/SUB:加减运算
ADD R2, R3, #10(R3+10结果存入R2) - AND/ORR/EOR:按位与、或、异或
AND R4, R5, R6(R5和R6按位与后存R4) - CMP:比较值并更新标志位
CMP R7, #20(比较R7与20) - 移位指令:
LSL R8, R9, #2(R9左移2位存到R8)
二、存储器访问指令
控制数据在寄存器与内存间传输:
- LDR:从内存加载数据到寄存器
LDR R0, [R1](读取R1指向地址的数据) - STR:将寄存器值存储到内存
STR R2, [R3](R2的值存入R3指向的地址) - LDM/STM:批量加载/存储寄存器组
LDMIA R10!, {R0-R3}(连续加载4个寄存器) - PUSH/POP:栈操作(压栈/出栈)
PUSH {R4, LR}(将R4和链接寄存器压栈)
三、分支与控制流指令
控制程序执行流程:
- B:无条件跳转
B label(跳转到标签位置) - BL:跳转并保存返回地址(用于函数调用)
BL func(调用func函数,LR保存返回地址) - BX:切换执行模式(如ARM/Thumb)
BX R0(跳转到R0地址,可切换指令集) - 条件分支(结合CMP使用):
BEQ label(若相等则跳转)
条件执行(ARMv7及之前):指令可附加条件后缀(如
ADDEQ),需与IT指令配合。
四、系统与控制指令
管理处理器状态:
- MSR/MRS:读写特殊寄存器
MRS R0, CPSR(将状态寄存器复制到R0) - CPSID/CPSIE:开关中断
CPSID I(禁用IRQ中断) - SVC:触发软中断(用于系统调用)
SVC #0x80(调用系统中断0x80)
五、协处理器指令(如浮点/VFP)
处理浮点数或特定功能:
- VLDR/VSTR:浮点寄存器加载/存储
VLDR S0, [R1](加载单精度浮点数) - VADD/VMUL:浮点加/乘
VADD.F32 S2, S0, S1(单精度浮点加法)
六、SIMD指令(NEON)
单指令多数据流加速:
- VADD.I16:16位整数并行加法
VADD.I16 Q0, Q1, Q2 - VMLA.F32:浮点乘加运算
VMLA.F32 Q3, Q4, Q5
七、同步与屏障指令
多核/多线程数据同步:
- DMB:数据存储器屏障
DMB(确保内存访问顺序) - LDREX/STREX:原子操作
LDREX R0, [R1](原子加载)
STREX R2, R3, [R1](条件存储)
八、其他特殊指令
- NOP:空操作(延时或占位)
- BKPT:断点(调试用)
- REV:字节序反转
REV R0, R1(R1的字节序反转后存入R0)
补充说明
- Thumb模式:16位精简指令集(Thumb-2支持16/32位混合),用于节省代码空间。
- AArch64(ARMv8+):
- 新增通用寄存器(X0-X30)。
- 移除条件执行(改用条件分支)。
- 新增原子加载/存储指令(如
LDAR)。
文档参考:具体指令行为需查阅ARM官方手册(如ARM Architecture Reference Manual),不同架构版本(ARMv7/v8/v9)指令支持存在差异。实际开发中,汇编器(如GAS)和编译器(GCC/Clang)通常自动处理细节。
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 芯片的工作原理是什么?
- ssd是什么意思
- 什么是蓝牙?它的主要作用是什么?
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- dtmb信号覆盖城市查询
- 怎样挑选路由器?
- 华为芯片为什么受制于美国?
- 元宇宙概念股龙头一览
- type-c四根线接法图解
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- BLDC电机技术分析
- 复位电路的原理及作用
- dsp是什么意思?有什么作用?
- iphone13promax电池容量是多少毫安
- 苹果无线充电器怎么使用?
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 传感器常见类型有哪些?
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机