1 <!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML 2.0//EN">
4 <TITLE>80386 Programmer's Reference Manual -- Opcode MOVSX
</TITLE>
7 <B>up:
</B> <A HREF=
"c17.htm">
8 Chapter
17 --
80386 Instruction Set
</A><BR>
9 <B>prev:
</B><A HREF=
"MOVS.htm">
10 MOVS/MOVSB/MOVSW/MOVSD Move Data from String to String
</A><BR>
11 <B>next:
</B><A HREF=
"MOVZX.htm"> MOVZX Move with Zero-Extend
</A>
15 <H1>MOVSX -- Move with Sign-Extend
</H1>
18 Opcode Instruction Clocks Description
20 0F BE /r MOVSX r16,r/m8
3/
6 Move byte to word with sign-extend
21 0F BE /r MOVSX r32,r/m8
3/
6 Move byte to dword, sign-extend
22 0F BF /r MOVSX r32,r/m16
3/
6 Move word to dword, sign-extend
28 DEST := SignExtend(SRC);
33 MOVSX reads the contents of the effective address or register as a byte
34 or a word, sign-extends the value to the operand-size attribute of the
35 instruction (
16 or
32 bits), and stores the result in the destination
38 <H2>Flags Affected
</H2>
42 <H2>Protected Mode Exceptions
</H2>
44 #GP(
0) for an illegal memory operand effective address in the CS, DS,
45 ES, FS or GS segments; #SS(
0) for an illegal address in the SS segment;
46 #PF(fault-code) for a page fault
48 <H2>Real Address Mode Exceptions
</H2>
50 Interrupt
13 if any part of the operand would lie outside of the effective
51 address space from
0 to
0FFFFH
53 <H2>Virtual
8086 Mode Exceptions
</H2>
55 Same exceptions as in Real Address Mode; #PF(fault-code) for a page
62 <B>up:
</B> <A HREF=
"c17.htm">
63 Chapter
17 --
80386 Instruction Set
</A><BR>
64 <B>prev:
</B><A HREF=
"MOVS.htm">
65 MOVS/MOVSB/MOVSW/MOVSD Move Data from String to String
</A><BR>
66 <B>next:
</B><A HREF=
"MOVZX.htm"> MOVZX Move with Zero-Extend
</A>