美文网首页
ARM 汇编指令学习:[0]编码格式与条件码域

ARM 汇编指令学习:[0]编码格式与条件码域

作者: techping | 来源:发表于2017-01-11 21:32 被阅读0次

ARM 汇编指令学习:[0]编码格式与条件码域


一、ARM指令的编码格式

31 28 27 21 20 19 16 15 12 11     0
cond opcode S Rn Rd shifter_operand

其中:

  • cond [31-28] 4-bit 指令执行的条件编码
  • opcode [27-21] 4-bit 指令操作符编码
  • S [20] 1-bit 决定指令的操作是否影响CPSR的值
  • Rn [19-16] 4-bit 包含第1个操作数的寄存器编码
  • Rd [15-12] 4-bit 目标寄存器编码
  • shifter_operand [11-0] 12-bit 表示第2个操作数

一条典型的ARM指令语法如下:

<opcode>{<cond>}{S} <Rd>,<Rn>,<shifter_operand>

其中:

  • <opcode> 指令助记符
  • {<cond>} 指令执行的条件
  • {S} 决定指令的操作是否影响CPSR的值
  • <Rd> 表示目标寄存器
  • <Rn> 表示包含第1个操作数的寄存器
  • <shifter_operand> 表示第2个操作数

二、ARM指令的条件码域

条件码<cond> 条件码助记符 含义 CPSR中条件标志位值
0000 EQ 相等 Z=1
0001 NE 不相等 Z=0
0010 CS/HS 无符号数大于/等于 C=1
0011 CC/LO 无符号数小于 C=0
0100 MI 负数 N=1
0101 PL 非负数 N=0
0110 VS 上溢出 V=1
0111 VC 没有上溢出 V=0
1000 HI 无符号数大于 C=1且Z=0
1001 LS 无符号数小于/等于 C=0且Z=1
1010 GE 带符号数大于/等于 N=1且V=1或N=0且V=0
1011 LT 带符号数小于 N=1且V=0或N=0且V=1
1100 GT 带符号数大于 Z=0且N=V
1101 LE 带符号数小于/等于 Z=1或N!=V
1110 AL 无条件执行
1111 NV 该指令从不执行

相关文章

  • ARM 汇编指令学习:[0]编码格式与条件码域

    ARM 汇编指令学习:[0]编码格式与条件码域 一、ARM指令的编码格式 其中: cond[31-28]4-bit...

  • 基础的汇编指令学习-2019-05-09

    基础的汇编指令学习 转载请标注出处:CSDN ARM 指令记录 指令的条件域 寄存器学习 寄存器 显示opcode...

  • IOS arm64常用的汇编

    导论 生成汇编文件 寄存器 arm64 汇编条件域 arm64 汇编指令 总结 1. 生成汇编文件 2. 寄存器 ...

  • Arm指令学习

    持续更新文章... 0:后缀学习 1:寻址方式 1:指令条件码 2:ARM指令 2:跳转指令 3:数据存储指令 4...

  • ARM 汇编指令学习:[1]ARM指令寻址方式

    ARM 汇编指令学习:[1]ARM指令寻址方式 一、数据处理指令的操作数的寻址方式 通常具有下面3种格式: 1、 ...

  • ARM 汇编指令学习:[2]ARM指令集

    ARM 汇编指令学习:[2]ARM指令集 一、跳转指令 1、 B(跳转指令)及BL(带返回跳转指令) 其中: L决...

  • 汇编指令-收藏方便查阅

    一: 汇编指令格式 ARM 汇编器的基本语法,这与 GCC汇编器 的语法有所不同,整体编译的流程如下所示; 二: ...

  • 汇编指令-收藏方便查阅

    一: 汇编指令格式 ARM 汇编器的基本语法,这与 GCC汇编器 的语法有所不同,整体编译的流程如下所示; 二: ...

  • ARM 64 常见汇编指令

    ARM64常用的汇编指令 运算指令 程序跳转指令

  • 基础-3

    系统性编码 在汇编中只有两种指令:汇编指令和伪指令,前者对应有机器码,后者没有对应机器码而是对编译器的编译动作进行...

网友评论

      本文标题:ARM 汇编指令学习:[0]编码格式与条件码域

      本文链接:https://www.haomeiwen.com/subject/dhnrbttx.html