a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > ARM指令中的條件代碼

ARM指令中的條件代碼

——
作者: 時間:2007-05-10 來源: 收藏

指令集中所有指令都是可以帶條件執行的。下面是條件的列表:

EQ : 等于
如果一次比較之后設置了 Z 標志。
 
NE : 不等于
如果一次比較之后清除了 Z 標志。
 
VS : 溢出設置
如果在一次算術操作之后設置了 V 標志,計算的結果不適合放入一個 32bit 目標寄存器中。
 
VC : 溢出清除
如果清除了 V 標志,與 VS 相反。
 
HI : 高于(無符號)
如果一次比較之后設置了 C 標志并清除了 Z 標志。
 
LS : 低于或同于(無符號)
如果一次比較操作之后清除了 C 標志或設置了 Z 標志。
 
PL : 正號
如果一次算術操作之后清除了 N。出于定義‘正號’的目的,零是正數的原因是它不是負數...
 
MI : 負號
如果一次算術操作之后設置了 N 標志。
 
CS : 進位設置
如果一次算術操作或移位操作之后設置了 C 標志,操作的結果不能表示為 32bit。你可以把 C 標志當作結果的第 33 位。
 
CC : 進位清除
與 CS 相反。
 
GE : 大于或等于(有符號)
如果一次比較之后...
設置了 N 標志并設置了 V 標志
或者...
清除了 N 標志并清除了 V 標志。
 
GT : 大于(有符號)
如果一次比較之后...
設置了 N 標志并設置了 V 標志
或者...
清除了 N 標志并清除了 V 標志
并且...
清除了 Z 標志。
 
LE : 小于或等于(有符號)
如果一次比較之后...
設置了 N 標志并清除了 V 標志
或者...
清除了 N 標志并設置了 V 標志
并且...
設置了 Z 標志。
 
LT : 小于(有符號)
如果一次比較之后...
設置了 N 標志并清除了 V 標志。
或者...
清除了 N 標志并設置了 V 標志。
 
AL : 總是
缺省條件,所以不用明顯聲明。
 
NV : 從不
不是特別有用,它表示應當永遠不執行這個指令。相當于NOP。包含 NV 是為了完整性(與 AL 相對),不推薦在中使用它。
 
S:
還有一個條件是S,它表示執行操作后,接著把SPSR的內容恢復到CPSR中。例如:

  ADD     R0, R0, R1

  ADDS    R0, R0, R1

  ADDEQS  R0, R0, R1

第一個例子是一個基本的加法(把 R1 的值增加到 R0),它不影響狀態寄存器。
第二個例子是同一個加法,只不過它導致更改狀態寄存器。
最后一個例子是同一個加法,更改狀態寄存器。不同在于它是一個有條件的指令。只有前一個操作的結果是 EQ (如果設置了 Z 標志)的時候它才執行。



關鍵詞: ARM 代碼

評論


相關推薦

技術專區

關閉