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
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
none | 2 | 2 | 3 | 1 |
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.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg16,reg16 | 14 | 15 | 11 | 3 |
reg32,reg32 | 15 | 11 | 3 | |
reg16,mem16 | 16 | 16 | 11 | 3-7 |
reg32,mem32 | 16 | 11 | 3-7 |
LDS - Load Pointer Using DS
Usage: LDS dest,src
Modifies Flags: None
Loads 32-bit pointer from memory source to destination register and DS. The offset is placed in the destination register and the segment is placed in DS. 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.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg16,mem32 | 7 | 7 | 6 | 2-4 |
reg,mem (PM) | 22 | 12 | 5-7 |
LEA - Load Effective Address
Usage: LEA dest,src
Modifies Flags: None
Transfers offset address of "src" to the destination register.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg,mem | 3 | 2 | 1 | 2-4 |
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.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
none | 5 | 4 | 5 | 1 |
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.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg,mem | 7 | 7 | 6 | 2-4 |
reg,mem (PM) | 22 | 12 | 5-7 |
LFS - Load Pointer Using FS (386+)
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.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg,mem | 7 | 6 | 5-7 | |
reg,mem (PM) | 22 | 12 | 5-7 |
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.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
mem64 | 11 | 11 | 11 | 5 |
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.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
mem64 | 12 | 11 | 11 | 5 |
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.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg,mem | 7 | 6 | 5-7 | |
reg,mem (PM) | 22 | 12 | 5-7 |
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).
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg16 | 17 | 20 | 11 | 3 |
mem16 | 19 |