The Intel 8086 / 8088/ 80186 / 80286 / 80386 / 80486 Instruction Set | This is 8086.tk. |
| L Instructions
LAHF - Load Register AH From Flags
Usage: LAHF
Modifies Flags: None
Copies bits 0-7 of the flags register into AH.
This includes flags AF, CF, PF, SF and ZF other bits
are undefined.
AH := SF ZF xx AF xx PF xx CF
LAR - Load Access Rights (286+ protected)
Usage: LAR dest,src
Modifies Flags: ZF
The high byte of the of the destination register is overwritten
by the value of the access rights byte and the low order byte
is zeroed depending on the selection in the source operand.
The Zero Flag is set if the load operation is successful.
LEA - Load Effective Address
Usage: LEA dest,src
Modifies Flags: None
Transfers offset address of "src" to the destination register.
LEAVE - Restore Stack for Procedure Exit (80188+)
Usage: LEAVE
Modifies Flags: LEAVE
Releases the local variables created by the previous ENTER
instruction by restoring SP and BP to their condition before
the procedure stack frame was initialized.
LES - Load Pointer Using ES
Usage: LES dest,src
Modifies Flags: None
Loads 32-bit pointer from memory source to destination
register and ES. The offset is placed in the destination
register and the segment is placed in ES. To use this
instruction the word at the lower memory address must
contain the offset and the word at the higher address
must contain the segment. This simplifies the loading
of far pointers from the stack and the interrupt vector table.
LFS - Load Pointer Using FS
Usage: LFS dest,src
Modifies Flags: None
Loads 32-bit pointer from memory source to destination
register and FS. The offset is placed in the destination
register and the segment is placed in FS. To use this
instruction the word at the lower memory address must
contain the offset and the word at the higher address must
contain the segment. This simplifies the loading of far pointers
from the stack and the interrupt vector table.
LGDT - Load Global Descriptor Table (286+ privileged)
Usage: LGDT src
Modifies Flags: None
Loads a value from an operand into the Global Descriptor Table
(GDT) register.
LGS - Load Pointer Using GS (386+)
Usage: LGS dest,src
Modifies Flags: None
Loads 32-bit pointer from memory source to destination
register and GS. The offset is placed in the destination
register and the segment is placed in GS. To use this
instruction the word at the lower memory address must
contain the offset and the word at the higher address must
contain the segment. This simplifies the loading of far pointers
from the stack and the interrupt vector table.
LIDT - Load Interrupt Descriptor Table (286+ privileged)
Usage: LIDT src
Modifies Flags: None
Loads a value from an operand into the Interrupt Descriptor
Table (IDT) register.
LLDT - Load Local Descriptor Table (286+ privileged)
Usage: LLDT src
Modifies Flags: None
Loads a value from an operand into the Local Descriptor Table
Register (LDTR).
LMSW - Load Machine Status Word (286+ privileged)
Usage: LMSW src
Modifies Flags: None
Loads the Machine Status Word (MSW) from data found at "src".
LOCK - Lock Bus
Usage: LOCK
LOCK: (386+ prefix)
Modifies Flags: None
This instruction is a prefix that causes the CPU assert bus lock
signal during the execution of the next instruction. Used to
avoid two processors from updating the same data location.
The 286 always asserts lock during an XCHG with memory
operands. This should only be used to lock the bus prior to
XCHG, MOV, IN and OUT instructions.
LODS - Load String (Byte, Word or Double)
Usage: LODS src
LODSB
LODSW
LODSD (386+)
Modifies Flags: None
Transfers string element addressed by DS:SI (even if
an operand is supplied) to the accumulator. SI is incremented
based on the size of the operand or based on the instruction
used. If the Direction Flag is set SI is decremented, if
the Direction Flag is clear SI is incremented. Use with REP
prefixes.
LOOP - Decrement CX and Loop if CX Not Zero
Usage: LOOP label
Modifies Flags: None
Decrements CX by 1 and transfers control to "label" if CX
is not Zero. The "label" operand must be within -128 or 127
bytes of the instruction following the loop instruction.
LOOPE/LOOPZ - Loop While Equal / Loop While Zero
Usage: LOOPE label
LOOPZ label
Modifies Flags: None
Decrements CX by 1 (without modifying the flags) and
transfers control to "label" if CX != 0 and the Zero Flag is set.
The "label" operand must be within -128 or 127 bytes of
the instruction following the loop instruction.
LOOPNE/LOOPNZ - Loop While Not Equal / Loop While Not Zero
Usage: LOOPNZ label
LOOPNE label
Modifies Flags: None
Decrements CX by 1 (without modifying the flags) and
transfers control to "label" if CX != 0 and the Zero Flag
is clear. The "label" operand must be within -128 or 127
bytes of the instruction following the loop instruction.
LSL - Load Segment Limit (286+ protected)
Usage: LSL dest,src
Modifies Flags: ZF
Loads the segment limit of a selector into the destination
register if the selector is valid and visible at the current
privilege level. If loading is successful the Zero Flag is set,
otherwise it is cleared.
LSS - Load Pointer Using SS (386+)
Usage: LSS dest,src
Modifies Flags: None
Loads 32-bit pointer from memory source to destination
register and SS. The offset is placed in the destination
register and the segment is placed in SS. To use this
instruction the word at the lower memory address must
contain the offset and the word at the higher address must
contain the segment. This simplifies the loading of far pointers
from the stack and the interrupt vector table.
LTR - Load Task Register (286+ privileged)
Usage: LTR src
Modifies Flags: None
Loads the current task register with the value specified in "src".
Links
|
|