OR - 邏輯或

操作碼

指令

說明

0C ib

OR AL,imm8

對 AL 同 imm8 執行“或”運算

0D iw

OR AX,imm16

對 AX 同 imm16 執行“或”運算

0D id

OR EAX,imm32

對 EAX 同 imm32 執行“或”運算

80 /1 ib

OR r/m8,imm8

r/m8imm8 執行“或”運算

81 /1 iw

OR r/m16,imm16

r/m16imm16 執行“或”運算

81 /1 id

OR r/m32,imm32

r/m32imm32 執行“或”運算

83 /1 ib

OR r/m16,imm8

r/m16imm8(符號擴充套件)執行“或”運算

83 /1 ib

OR r/m32,imm8

r/m32imm8(符號擴充套件)執行“或”運算

08 /r

OR r/m8,r8

r/m8r8 執行“或”運算

09 /r

OR r/m16,r16

r/m16r16 執行“或”運算

09 /r

OR r/m32,r32

r/m32r32 執行“或”運算

0A /r

OR r8,r/m8

r8r/m8 執行“或”運算

0B /r

OR r16,r/m16

r16r/m16 執行“或”運算

0B /r

OR r32,r/m32

r32r/m32 執行“或”運算

說明

在目標運算元(第一個)與源運算元(第二個)之間執行逐位“或”操作,結果儲存到目標運算元位置。源運算元可以是立即數、暫存器或記憶體位置;目標運算元可以是暫存器或記憶體位置。(不過,不能在一條指令中使用兩個記憶體運算元)。對於 OR 指令的結果中的每個位,如果它在第一個與第二個運算元中對應的位都是 0,則設定為 0;否則設定為 1。

操作

DEST DEST OR SRC;

影響的標誌

清除 OF 與 CF 標誌,根據結果設定 SF、ZF 及 PF 標誌。AF 標誌的狀態未定義。

保護模式異常

#GP(0) - 如果目標運算元指向不可寫的段。如果記憶體運算元有效地址超出 CS、DS、ES、FS 或 GS 段限制。如果 DS、ES、FS 或 GS 暫存器包含空的段選擇器。

#SS(0) - 如果記憶體運算元有效地址超出 SS 段限制。

#PF(錯誤程式碼) - 如果發生頁錯誤。

#AC(0) - 如果啟用對齊檢查並在目前特權級別為 3 時進行未對齊的記憶體引用。

實地址模式異常

#GP - 如果記憶體運算元有效地址超出 CS、DS、ES、FS 或 GS 段限制。

#SS - 如果記憶體運算元有效地址超出 SS 段限制。

虛 8086 模式異常

#GP(0) - 如果記憶體運算元有效地址超出 CS、DS、ES、FS 或 GS 段限制。

#SS(0) - 如果記憶體運算元有效地址超出 SS 段限制。

#PF(錯誤程式碼) - 如果發生頁錯誤。

#AC(0) - 如果在啟用對齊檢查的情況下進行未對齊的記憶體引用。