* remove "\r" nonsense
[mascara-docs.git] / i386 / i386.reference / MOVZX.htm
blob9be6355aaed2f1f02341a7e04a5d47bd87050cd4
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>80386 Programmer's Reference Manual -- Opcode MOVZX</TITLE>
5 </HEAD>
6 <BODY>
7 <B>up:</B> <A HREF="c17.htm">
8 Chapter 17 -- 80386 Instruction Set</A><BR>
9 <B>prev:</B><A HREF="MOVSX.htm"> MOVSX Move with Sign-Extend</A><BR>
10 <B>next:</B><A HREF="MUL.htm"> MUL Unsigned Multiplication of AL or AX</A>
11 <P>
12 <HR>
13 <P>
14 <H1>MOVZX -- Move with Zero-Extend</H1>
16 <PRE>
17 Opcode Instruction Clocks Description
19 0F B6 /r MOVZX r16,r/m8 3/6 Move byte to word with zero-extend
20 0F B6 /r MOVZX r32,r/m8 3/6 Move byte to dword, zero-extend
21 0F B7 /r MOVZX r32,r/m16 3/6 Move word to dword, zero-extend
22 </PRE>
24 <H2>Operation</H2>
26 <PRE>
27 DEST := ZeroExtend(SRC);
28 </PRE>
30 <H2>Description</H2>
32 MOVZX reads the contents of the effective address or register as a byte
33 or a word, zero extends the value to the operand-size attribute of the
34 instruction (16 or 32 bits), and stores the result in the destination
35 register.
37 <H2>Flags Affected</H2>
39 None
41 <H2>Protected Mode Exceptions</H2>
43 #GP(0) for an illegal memory operand effective address in the CS, DS,
44 ES, FS, or GS segments; #SS(0) for an illegal address in the SS segment;
45 #PF(fault-code) for a page fault
47 <H2>Real Address Mode Exceptions</H2>
49 Interrupt 13 if any part of the operand would lie outside of the effective
50 address space from 0 to 0FFFFH
52 <H2>Virtual 8086 Mode Exceptions</H2>
54 Same exceptions as in Real Address Mode; #PF(fault-code) for a page
55 fault
58 <P>
59 <HR>
60 <P>
61 <B>up:</B> <A HREF="c17.htm">
62 Chapter 17 -- 80386 Instruction Set</A><BR>
63 <B>prev:</B><A HREF="MOVSX.htm"> MOVSX Move with Sign-Extend</A><BR>
64 <B>next:</B><A HREF="MUL.htm"> MUL Unsigned Multiplication of AL or AX</A>
65 </BODY>