Intel 253666-024US Computer Hardware User Manual


 
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.