Intel 253666-024US Manuel D’Utilisation

Page de 760
Vol. 2A 3-547
INSTRUCTION SET REFERENCE, A-M
LMSW—Load Machine Status Word
LMSW—Load Machine Status Word
Description
Loads the source operand into the machine status word, bits 0 through 15 of register 
CR0. The source operand can be a 16-bit general-purpose register or a memory loca-
tion. Only the low-order 4 bits of the source operand (which contains the PE, MP, EM, 
and TS flags) are loaded into CR0. The PG, CD, NW, AM, WP, NE, and ET flags of CR0 
are not affected. The operand-size attribute has no effect on this instruction.
If the PE flag of the source operand (bit 0) is set to 1, the instruction causes the 
processor to switch to protected mode. While in protected mode, the LMSW instruc-
tion cannot be used to clear the PE flag and force a switch back to real-address mode.
The LMSW instruction is provided for use in operating-system software; it should not 
be used in application programs. In protected or virtual-8086 mode, it can only be 
executed at CPL 0.
This instruction is provided for compatibility with the Intel 286 processor; programs 
and procedures intended to run on the Pentium 4, Intel Xeon, P6 family, Pentium, 
Intel486, and Intel386 processors should use the MOV (control registers) instruction 
to load the whole CR0 register. The MOV CR0 instruction can be used to set and clear 
the PE flag in CR0, allowing a procedure or program to switch between protected and 
real-address modes.
This instruction is a serializing instruction.
This instruction’s operation is the same in non-64-bit modes and 64-bit mode. Note 
that the operand size is fixed at 16 bits.
See “Changes to Instruction Behavior in VMX Non-Root Operation” in Chapter 21 of 
the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3B, for 
more information about the behavior of this instruction in VMX non-root operation.
Operation
CR0[0:3] ← SRC[0:3];
Flags Affected
None.
Opcode
Instruction
64-Bit 
Mode
Compat/
Leg Mode
Description
0F 01 /6
LMSW r/m16
Valid
Valid
Loads r/m16 in machine status word 
of CR0.