操作碼 |
指令 |
說明 |
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;
無。
無。