CBW/CWDE - 位元組轉換成字/字轉換成雙字

操作碼

指令

說明

98

CBW

AX AL 的符號擴充套件

98

CWDE

EAX AX 的符號擴充套件

說明

通過符號擴充套件將源運算元的大小加倍(請參閱“IA-32 英特爾(R) 體系結構軟件開發人員手冊”第 1 卷的“圖 6-5”)。CBW(位元組轉換成字)指令將源運算元中的符號(位 7)複製到 AH 暫存器中的每個位。CWDE(字轉換成雙字)指令將 AX 暫存器中字的符號(位 15)複製到 EAX 暫存器的高 16 位。

CBW 與 CWDE 助記符引用相同的操作碼。CBW 指令旨在用於運算元大小屬性為 16 時;CWDE 指令旨在用於運算元大小屬性為 32 時。某些彙編器在使用 CBW 時將運算元大小強制變成 16,在使用 CWDE 時將運算元大小強制變成 32。其它彙編器可能會將這些助記符看作同義詞 (CBW/CWDE),並使用運算元大小屬性的當前設定確定要轉換的值的大小,而不管使用哪一個助記符。

CWDE 指令與 CWD(字轉換成雙字)指令有所不同。CWD 指令將一對暫存器 DX:AX 用作目標運算元;而 CWDE 指令則將 EAX 暫存器用作目標運算元。

操作

IF OperandSize 16 (* instruction CBW *)
THEN AX SignExtend(AL);
ELSE (* OperandSize 32, instruction CWDE *)
EAX SignExtend(AX);
FI;

影響的標誌

無。

異常(所有操作模式)

無。