ARM 指令的条件码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.程序状态寄存器的条件标志位
N 运算结果的b31位值。

对于有符号二进制补码,结果为负数时N=1,结果为正数或零时N=0;
Z 指令结果为0时Z=1,否则Z=0;
C 使用加法运算(包括CMN指令),b31位产生进位时C=1,否则C=0。

使用减法运算(包括CMP),b31位产生借位时C=0,否则C=1。

对于结合移位操作的非加法/减法指令,C为b31位最后的移出值,其它指令C通常不变;
V 使用加法/减法运算,当发生有符号溢出时V=1,否则V=0,其它指令V通常不变。

2.每一条ARM指令包含4位的条件码
操作码条件码助记符标志含义
0000 EQ Z=1相等
0001 NE(Not Equal) Z=0不相等
0010 CS/HS(Carry Set/High or Same) C=1无符号数大于或等于
0011 CC/LO(Carry Clear/LOwer) C=0无符号数小于
0100 MI(MInus) N=1负数
0101 PL(PLus) N=0正数或零
0110 VS(oVerflow set) V=1溢出
0111 VC(oVerflow clear) V=0没有溢出
1000 HI(HIgh) C=1,Z=0无符号数大于
1001 LS(Lower or Same) C=0,Z=1无符号数小于或等于
1010 GE(Greater or Equal) N=V有符号数大于或等于
1011 LT(Less Than) N!=V有符号数小于
1100 GT(Greater Than) Z=0,N=V有符号数大于
1101 LE(Less or Equal) Z=1,N!=V有符号数小于或等于
1110 AL任何无条件执行(默认)
1111 NV任何从不执行。

相关文档
最新文档