ARM 指令的條件碼
N 運(yùn)算結(jié)果的b31位值。對于有符號二進(jìn)制補(bǔ)碼,結(jié)果為負(fù)數(shù)時N=1,結(jié)果為正數(shù)或零時N=0;
本文引用地址:http://www.ex-cimer.com/article/201611/317569.htmZ 指令結(jié)果為0時Z=1,否則Z=0;
C 使用加法運(yùn)算(包括CMN指令),b31位產(chǎn)生進(jìn)位時C=1,否則C=0。使用減法運(yùn)算(包括CMP),b31位產(chǎn)生借位時C=0,否則C=1。對于結(jié)合移位操作的非加法/減法指令,C為b31位最后的移出值,其它指令C通常不變;
V 使用加法/減法運(yùn)算,當(dāng)發(fā)生有符號溢出時V=1,否則V=0,其它指令V通常不變。
2.每一條ARM指令包含4位的條件碼
操作碼 | 條件碼助記符 | 標(biāo)志 | 含義 |
0000 | EQ | Z=1 | 相等 |
0001 | NE(Not Equal) | Z=0 | 不相等 |
0010 | CS/HS(Carry Set/High or Same) | C=1 | 無符號數(shù)大于或等于 |
0011 | CC/LO(Carry Clear/LOwer) | C=0 | 無符號數(shù)小于 |
0100 | MI(MInus) | N=1 | 負(fù)數(shù) |
0101 | PL(PLus) | N=0 | 正數(shù)或零 |
0110 | VS(oVerflow set) | V=1 | 溢出 |
0111 | VC(oVerflow clear) | V=0 | 沒有溢出 |
1000 | HI(HIgh) | C=1,Z=0 | 無符號數(shù)大于 |
1001 | LS(Lower or Same) | C=0,Z=1 | 無符號數(shù)小于或等于 |
1010 | GE(Greater or Equal) | N=V | 有符號數(shù)大于或等于 |
1011 | LT(Less Than) | N!=V | 有符號數(shù)小于 |
1100 | GT(Greater Than) | Z=0,N=V | 有符號數(shù)大于 |
1101 | LE(Less or Equal) | Z=1,N!=V | 有符號數(shù)小于或等于 |
1110 | AL | 任何 | 無條件執(zhí)行(默認(rèn)) |
1111 | NV | 任何 | 從不執(zhí)行 |
評論