操作碼 |
指令 |
說明 |
04 ib |
ADD AL,imm8 |
將 imm8 加到 AL 上 |
05 iw |
ADD AX,imm16 |
將 imm16 加到 AX 上 |
05 id |
ADD EAX,imm32 |
將 imm32 加到 EAX 上 |
80 /0 ib |
ADD r/m8,imm8 |
將 imm8 加到 r/m8 上 |
81 /0 iw |
ADD r/m16,imm16 |
將 imm16 加到 r/m16 上 |
81 /0 id |
ADD r/m32,imm32 |
將 imm32 加到 r/m32 上 |
83 /0 ib |
ADD r/m16,imm8 |
將符號擴充套件的 imm8 加到 r/m16 上 |
83 /0 ib |
ADD r/m32,imm8 |
將符號擴充套件的 imm8 加到 r/m32 上 |
00 /r |
ADD r/m8,r8 |
將 r8 加到 r/m8 上 |
01 /r |
ADD r/m16,r16 |
將 r16 加到 r/m16 上 |
01 /r |
ADD r/m32,r32 |
將 r32 加到 r/m32 上 |
02 /r |
ADD r8,r/m8 |
將 r/m8 加到 r8 上 |
03 /r |
ADD r16,r/m16 |
將 r/m16 加到 r16 上 |
03 /r |
ADD r32,r/m32 |
將 r/m32 加到 r32 上 |
將第一個運算元(目標運算元)與第二個運算元(源運算元)相加,結果儲存到目標運算元。目標運算元可以是暫存器或記憶體位置;源運算元可以是立即數、暫存器或記憶體位置。(不過,不能在一條指令中使用兩個記憶體運算元)。將立即數用作運算元時,它按照符號擴充套件方式擴充套件到目標運算元格式的長度。
ADD 指令不區分有符號或無符號運算元。相反,處理器計算兩種數據型別的結果,並分別設定 OF 與 CF 標誌以表示有符號或無符號結果的進位。SF 標誌表示有符號結果的符號。
DEST DEST + SRC;
OF、SF、ZF、AF、CF 及 PF 標誌根據結果設定。
#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 段限制。
#GP(0) - 如果記憶體運算元有效地址超出 CS、DS、ES、FS 或 GS 段限制。
#SS(0) - 如果記憶體運算元有效地址超出 SS 段限制。
#PF(錯誤程式碼) - 如果發生頁錯誤。
#AC(0) - 如果在啟用對齊檢查的情況下進行未對齊的記憶體引用。