操作
說明
AND
源操作數和目的操作數進行邏輯與操作
OR
源操作數和目的操作數進行邏輯或操作
XOR
源操作數和目的操作數進行邏輯異或操作
NOT
對目标操作數進行邏輯非操作
TEST
源操作數和目的操作數進行邏輯與操作,并适當地設定 CPU 标志位
對 16 位整數來說,可以通過将其高位元組和低位元組進行異或運算來檢測數的奇偶性:
将每個寄存器中的置 1 位(等于 1 的位)想象為一個 8 位集合中的成員。XOR 指令把兩個集合交集中的成員清 0,并形成了其餘位的并集。這個并集的奇偶性與整個 16 位整數的奇偶性相同。
要将零标志位清零,就把操作數與 1 進行 OR 操作:
TEST 指令不修改目的操作數,而 AND 指令則會修改目的操作數。若要符号标志位置 1,将操作數的最高位和 1 進行 OR 操作;若要清除符号标志位,則将操作數最高位和 0 進行 AND 操作:
若要進位标志位置 1,用 STC 指令;清除進位标志位,用 CLC 指令:
若要溢出标志位置 1,就把兩個正數相加使之産生負的和數;若要清除溢出标志位,則将操作數和 0 進行 OR 操作:
基于零标志位、進位标志位、溢出标志位、奇偶标志位和符号标志位的跳轉。
助記符
标志位/寄存器
JZ
為零跳轉
ZF=1
JNO
無溢出跳轉
OF=0
JNZ
非零跳轉
ZF=0
JS
有符号跳轉
SF=1
JC
進位跳轉
CF=1
JNS
無符号跳轉
SF=0
JNC
無進位跳轉
CF=0
JP
偶校驗跳轉
PF=1
JO
溢出跳轉
OF=1
JNP
奇校驗跳轉
PF=0
JE
相等跳轉 (leftOp=rightOp)
JNE
不相等跳轉 (leftOp M rightOp)
JCXZ
CX=0 跳轉
JECXZ
ECX=0 跳轉
JRCXZ
RCX=0 跳轉(64 位模式)
JA
大于跳轉(若 leftOp > rightOp)
JB
小于跳轉(若 leftOp < rightOp)
JNBE
不小于或等于跳轉(與 JA 相同)
JNAE
不大于或等于跳轉(與 JB 相同)
JAE
大于或等于跳轉(若 leftOp ≥ rightOp)
JBE
小于或等于跳轉(若 leftOp ≤ rightOp)
JNB
不小于跳轉(與 JAE 相同)
JNA
不大于跳轉(與 JBE 相同)
JG
JL
JNLE
不小于或等于跳轉(與 JG 相同)
JNGE
不大于或等于跳轉(與 JL 相同)
JGE
JLE
JNL
不小于跳轉(與 JGE 相同)
JNG
不大于跳轉(與 JLE 相同)
2.循環的實作
3.測驗分數的評級(1)
4.3.測驗分數的評級(2)
7.布爾電腦(1)
8.布爾電腦(2)
9.自定義秘鑰輸入