Specifications

MICROPROCESSADORES
CONJUNTO DE INSTRUÇÕES DO 8086
4
Luís Miguel Charrua Figueiredo 4 - 4 E.N.I.D.H.
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
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.
LEA - Load Effective Address
Usage: LEA dest,src
Modifies flags: None
Transfers offset address of "src" to the destination
register.
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.
LOCK - Lock Bus
Usage: LOCK
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
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.
LOOPNZ/LOOPNE - Loop While Not Zero / Loop While
Not Equal
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.
MOV - Move Byte or Word
Usage: MOV dest,src
Modifies flags: None
Copies byte or word from the source operand to the
destination operand. If the destination is SS interrupts are
disabled except on early buggy 808x CPUs. Some CPUs
disable interrupts if the destination is any of the segment
registers