標誌處理指令
CLC、 STC、 CMC、
CLD、STD、
CLI、STI
其餘處理機控制與雜項操做指令
NOP、HLT、WAIT、ESC、LOCKpost
CLC CF ← 0
CMC CF ← ¬CF
STC CF ← 1測試
CLD DF ← 0
STD DF ← 1spa
CLI IF ← 0
STI IF ← 1指針
注意: * 隻影響本指令指定的標誌blog
NOP 無操做 (機器碼佔一個字節)
HLT 暫停機 (等待一次外中斷,以後繼續執行程序)
WAIT 等待 (等待外中斷,以後仍繼續等待)
ESC 換碼
LOCK 封鎖 (維持總線的鎖存信號,直到其後的指令執行完)
get
注意: * 不影響條件標誌 it
(1) 指令集的32位擴展
* 全部 16 位指令均可擴展到 32 位
MOV EAX, 1
* 可以使用 32 位的存儲器尋址方式
MOV EAX, [EDX]擴展
(2) 使用方式的擴展
* IMUL:單操做數指令 → 雙操做數指令 / 三操做數指令
IMUL REG, SRC
* PUSH:容許使用當即數尋址方式
PUSH 36H
* 移位指令:移位次數可用 8 位當即數 (1~31)date
(3) 新增指令
MOVSX 帶符號擴展傳送
MOVZX 帶零擴展傳送
PUSHA / PUSHAD 全部寄存器進棧
POPA / POPAD 全部寄存器出棧
LFS / LGS / LSS 指針送寄存器和 FS / GS / SS
PUSHFD 標誌進棧
POPFD 標誌出棧
CWDE 字轉換爲雙字 EAX
CDQ 雙字轉換爲 4 字 EDX EAX
BSWAP 32 位寄存器的字節次序變反
XADD 交換加
CMPXCHG 比較並交換 (486)
CMPXCHG8B 比較並交換 8 字節(Pentium)A程序
BT 位測試
BTS 位測試並置1
BTR 位測試並置0
BTC 位測試並變反
BSF 正向位掃描
BSR 反向位掃描
SHLD 雙精度左移
SHRD 雙精度右移
INSB / INSW / INSD 串輸入
OUTSB / OUTSW / OUTSD 串輸出
條件設置指令
(1) 根據單個條件標誌的值把目的字節置 1
SETZ / SETE SETNZ / SETNE
SETS / SETNS SETO / SETNO
SETP / SETPE SETNP / SETPO
SETC / SETB / SETNAE SETNC / SETNB / SETAE
(2) 比較兩個無符號數,根據比較結果把目的字節置 1
SETB / SETNAE / SETC SETNB / SETAE / SETNC
SETBE / SETNA SETNBE / SETA
(3) 比較兩個帶符號數,根據比較結果把目的字節置 1
SETL / SETNGE SETNL / SETGE
SETLE / SETNG SETNLE / SETG
其餘處理機控制指令
BOUND 界限指令 ENTER 創建堆棧幀
LEAVE 釋放堆棧幀
特權指令