📄 cwd.htm
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><HTML><HEAD><TITLE>80386 Programmer's Reference Manual -- Opcode CWD</TITLE></HEAD><BODY><B>up:</B> <A HREF="c17.htm">Chapter 17 -- 80386 Instruction Set</A><BR><B>prev:</B><A HREF="CMPS.htm"> CMPS/CMPSB/CMPSW/CMPSD Compare String Operands</A><BR><B>next:</B><A HREF="DAA.htm"> DAA Decimal Adjust AL after Addition</A><P><HR><P><H1>CWD/CDQ -- Convert Word to Doubleword/Convert Doubleword to Quadword</H1><PRE>Opcode Instruction Clocks Description99 CWD 2 DX:AX := sign-extend of AX99 CDQ 2 EDX:EAX := sign-extend of EAX</PRE><H2>Operation</H2><PRE>IF OperandSize = 16 (* CWD instruction *)THEN IF AX < 0 THEN DX := 0FFFFH; ELSE DX := 0; FI;ELSE (* OperandSize = 32, CDQ instruction *) IF EAX < 0 THEN EDX := 0FFFFFFFFH; ELSE EDX := 0; FI;FI;</PRE><H2>Description</H2>CWD converts the signed word in AX to a signed doubleword in DX:AXby extending the most significant bit of AX into all the bits of DX. CDQconverts the signed doubleword in EAX to a signed 64-bit integer in theregister pair EDX:EAX by extending the most significant bit of EAX(the sign bit) into all the bits of EDX. Note that CWD is different fromCWDE. CWDE uses EAX as a destination, instead of DX:AX.<H2>Flags Affected</H2>None<H2>Protected Mode Exceptions</H2>None<H2>Real Address Mode Exceptions</H2>None<H2>Virtual 8086 Mode Exceptions</H2>None<P><HR><P><B>up:</B> <A HREF="c17.htm">Chapter 17 -- 80386 Instruction Set</A><BR><B>prev:</B><A HREF="CMPS.htm"> CMPS/CMPSB/CMPSW/CMPSD Compare String Operands</A><BR><B>next:</B><A HREF="DAA.htm"> DAA Decimal Adjust AL after Addition</A></BODY>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -