ARM指令的条件后缀

Posted on 2010-04-09 11:09 王小明 阅读(1128) 评论(0)  编辑 收藏 引用
ARM指令的条件后缀
      条件后缀的用途:在指令执行前先判断条件是否满足。满足执行本条指令,不满足跳过执行下一条指令
      例如:
                     ADDEQ      R4,R3,#0x01           在Z零标志位等于零的时候(Z=0),R4<---R3+1
     被测试的条件标志位有 Z,C,N和V
     N负数或小于
     C进位或借位或扩张
     Z零
     V溢出
     以上4位在CPSR或SPSR中。
                                                                       ARM的条件码表

编码 后缀助记符 标志位 定义
0000 EQ Z=1 相等
0001 NE Z=0 不相等
0010 CS C=1 无符号大于或者等于
0011 CC C=0 无符号小于
0100 MI N=1 负值
0101 PL N=0 正值或0
0110 VS V=1 溢出
0111 VC V=0 无溢出
1000 HI C=1且Z=0 无符号大于
1001 LS C=0或Z=1 无符号小于或等于
1010 GE N和V相同 有符号大于或等于
1011 LT N和V不同 有符号小于
1100 GT Z=0且N等于V 有符号大于
1101 LE Z=1或N不等于V 有符号小于或等于
1110 AL 无条件 无条件

其中AL应该省略不写。默认AL无条件
当条件后缀和S后缀同时使用时,S后缀在条件后缀之后。
如 ADDEQS
只有注册用户登录后才能发表评论。