ARM指令码的高4位存储条件执行码,指令依据此条件码和CPSR的标志位,决定是否执行。
Condition code [31:28] | Mnemonic extension | Interpretation | Status flag state for execution |
0000 | EQ | Equal / equals zero | Z set |
0001 | NE | Not equal | Z clear |
0010 | CS/HS | Carry set / unsigned higher or same | C set |
0011 | CC/LO | Carry clear / unsigned lower | C clear |
0100 | MI | Minus / negative | N set |
0101 | PL | Plus / positive or zero | N clear |
0110 | VS | Overflow | V set |
0111 | VC | No overflow | V clear |
1000 | HI | unsigned higher | C set and Z clear |
1001 | LS | unsigned lower or same | C clear and Z set |
1010 | GE | Signed greater than or equal | N equals V |
1011 | LT | Signed leass than | N is not equal to V |
1100 | GT | Signed greater than | Z clear and N equals V |
1101 | LE | Signed less than or equal | Z set or N is not equal to V |
1110 | AL | Always | any |
1111 | NV | Never (do not use !) | ignore |
参考:
http://cas.ee.ic.ac.uk/people/gac1/Architecture/Lecture8.pdf