arm指令集 |
您所在的位置:网站首页 › 电脑炸掉的图片怎么恢复 › arm指令集 |
特点: Load / Store结构(存储器操作仅包括load和store,所有其他操作在寄存器中完成) 32位固定指令宽度 3地址指令格式(即两个源操作数和结果寄存器都独立指定) 每条指令都条件执行 可在单周期执行的单条指令内同时完成一项普通以为操作和一项普通ALU操作 自动变址功能 寄存器模型 用户模式下 R1-R15的15个32位通用寄存器堆,R15为PC寄存器 CPSR的状态寄存器高四位表示N(负数)、Z(零)、 C(进位)、V(溢出)标志 分类介绍: +-------------+-------------+-----------+ | 数据处理指令| 数据传送指令| 控制流指令| +-------------+-------------+-----------+ ------------------------------------------------------------------------------ 数据处理指令:对寄存器内数据进行算术或逻辑操作 简单寄存器操作 算术操作: ADD, ADC, SUB, SBC, RSB, RSC 说明: RSB和RSC分别为反向减法和带进位反向减法 举例: ADD r0, r1, r2 ; r0 = r1 + r2 RSB r0, r1, r2 ; r0 = r2 - r1 按位逻辑操作: AND,ORR,EOR,BIC 说明:按位与,按位或,按位异或,and not 举例: BIC r0, r1, r2 ; r0 = r1 and not r2 寄存器传送操作:MOV,MVN 说明: MVN为按位取反传送 举例: MVN r0, r2 ; r0 = not r2 比较操作:CMP,CMN,TST,TEQ 说明: 比较,取反比较,位测试,测试相等 举例: TEQ r1, r2 ; 注意:操作数顺序格式为结果寄存器,第一操作数,第二操作数 立即数操作: 说明: 在数字前面加#表示立即数,加#&表示16进制立即数 举例: ADD r3, r3, #1 ; r3 = r3 + 1 AND r8, r7, #&ff ; r8 = r7 & 0xFF 寄存器移位操作:四地址指令 移位指令:LSL, LSR,ASL,ASR,ROR,RRX 说明: 逻辑左移,逻辑右移,算术左移,算术右移,循环右移,扩展 一位的循环右移 举例: ADD r3, r2, r1, LSL #3 ; r3 = r2 + (r1 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |