LAHF - Load Register AH From Flags
Usage: LAHF
Modifie les Flags suivants: Aucun(e)
Copie les bits 0 à 7 du registre des drapeaux ( Flags) dans AH. Ceci inclue les drapeaux AF,CF,PF,SF et ZF. Les bits sont indéfinis.
AH := SF ZF xx AF xx PF xx CF
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
aucun(e) | 2 | 2 | 3 | 1 |
LAR - Load Access Rights (286+ protected)
Usage: LAR dest,src
Modifie les Flags suivants: ZF
Le plus haut byte du registre de destination est écrasé par la valeur des droits d'accès. ACCESS RIGHTS Le byte le plus bas est mis à zéro selon la selection de l'opérande source. Le Flag ( ZERO ZF ) est posé si l'opération de chargement est réussie.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en 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
Modifie les Flags suivants: Aucun(e)
Charge un pointeur 32 bit d'une source mémoire vers un registre destination et DS. L'offset est placée dans le registre de destination et le segment est placé en DS. Pour utiliser cette intruction, le mot situé à l'adresse mémoire basse soit contenir l'offset et le mot situé à la plus haute doit contenir le segment. Le tout simplifie le chargement des pointeurs FAR de la pile et de la table des vecteurs d'interruption.
Clocks | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16,mem32 | 7 | 7 | 6 | 2-4 |
reg,mem (PM) | 22 | 12 | 5-7 |
LEA - Load Effective Address
Usage: LEA dest,src
Modifie les Flags suivants: Aucun(e)
Tansfère l'adresse offset (Source) vers le registre de destination.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,mem | 3 | 2 | 1 | 2-4 |
LEAVE - Restore Stack for Procedure Exit (80188+)
Usage: LEAVE
Modifie les Flags suivants: LEAVE
Rend :p))) les variables locales crées par l'instruction ENTER en restorant SP et BP .
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
Aucun(e) | 5 | 4 | 5 | 1 |
LES - Load Pointer Using ES
Usage: LES dest,src
Modifie les Flags suivants: Aucun(e)
Charge un pointeur 32 bit de la mémoire source vers le registre de destination et ES. L'offset est placé dans le registre de destination et le segment est placé dans ES. Pour utiliser cette instruction, le mot à l'adresse mémoire la plus basse doit contenir l'offset et le mot à la plus grande adresse doit contenir le segment. Ceci simplifie le chargement de pointeurs (FAR) depuis la pile et la table des vecteurs d'interruptions.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en 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
Modifie les Flags suivants: Aucun(e)
Charge un pointeur 32 bit de la mémoire source vers le registre de destination et FS. L'offset est placé dans le registre de destination et le segment est placé dans FS. Pour utiliser cette instruction, le mot à l'adresse mémoire la plus basse doit contenir l'offset et le mot à la plus grande adresse doit contenir le segment. Ceci simplifie le chargement de pointeurs (FAR) depuis la pile et la table des vecteurs d'interruptions.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,mem | 7 | 6 | 5-7 | |
reg,mem (PM) | 22 | 12 | 5-7 |
LGDT - Load Global Descriptor Table (286+ privileged)
Usage: LGDT src
Modifie les Flags suivants: Aucun(e)
Charge une valeur d'une opérande dans le registre GDT (Global Descriptor Table).
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
mem64 | 11 | 11 | 11 | 5 |
LIDT - Load Interrupt Descriptor Table (286+ privileged)
Usage: LIDT src
Modifie les Flags suivants: Aucun(e)
Charge la valeur d'une opérande dans le Registre de la Table des Descripteurs d'Interruptions.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
mem64 | 12 | 11 | 11 | 5 |
LGS - Load Pointer Using GS (386+)
Usage: LGS dest,src
Modifie les Flags suivants : Aucun(e)
Charge un pointeur 32 bit de la mémoire source vers le registre de destination et GS. L'offset est placé dans le registre de destination et le segment est placé dans GS. Pour utiliser cette instruction, le mot à l'adresse mémoire la plus basse doit contenir l'offset et le mot à la plus grande adresse doit contenir le segment. Ceci simplifie le chargement de pointeurs (FAR) depuis la pile et la table des vecteurs d'interruptions.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,mem | 7 | 6 | 5-7 | |
reg,mem (PM) | 22 | 12 | 5-7 |
LLDT - Load Local Descriptor Table (286+ privileged)
Usage: LLDT src
Modifie les Flags suivants: Aucun(e)
Charge une valeur d'un opérande dans le Local Descriptor Table Register (LDTR).
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16 | 17 | 20 | 11 | 3 |
mem16 | 19 | 24 | 11 | 5 |
LMSW - Load Machine Status Word (286+ privileged)
Usage: LMSW src
Modifie les Flags suivants: Aucun(e)
Charge une valeur d'une opérande mémoire source dans le MSW (Machine Status Word).
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16 | 3 | 10 | 13 | 3 |
mem16 | 6 | 13 | 13 | 5 |
LOCK - Lock Bus
Usage: LOCK
LOCK: (386+ prefix)
Modifie les Flags suivants: Aucun(e)
Cette instruction est un préfixe qui cause la fermeture des processeurs durant l'éxecution de l'intruction suivante. Utilisé en autres pour annuler les problèmes que pourrait poser l'allocation de deux processeurs sur la même donnée. A utiliser avec les instructions XCHG, MOV, IN et OUT.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
Aucun(e) | 0 | 0 | 1 | 1 |
LODS - Load String (Byte, Word or Double)
Usage: LODS src
LODSB
LODSW
LODSD (386+)
Modifie les Flags suivants: Aucun(e)
Transfère les éléments de type chaînes adressé par DS:SI vers le registre accumulateur. SI est incrémenté selon la taille de l'opérande ou selon l'instruction utilisée. Si le Flag (DF) est posé SI est décrémenté , et si DF est éffacé, alors SI est incrémenté. A utiliser avec les préfixes REP.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
src | 5 | 5 | 5 | 1 |
LOOP - Decremente CX et Loop si CX différent de Zero
Usage: LOOP label
Modifie les Flags suivants: Aucun(e)
Décrémente CX de 1 et provoque branchement vers label si CX est zéro. Label doit être dans les limites de -128 ou +127 bytes de l'instruction suivant le LOOP.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
label: saut | 8+m | 11+m | 6 | 2 |
pas de saut | 4 | ? | 2 | 2 |
Usage: LOOPE label
LOOPZ label
Modifie les Flags suivants: Aucun(e)
Décrémente CX de 1 (sans modifier les Flags ) et provoque branchement vers label si CX est différent de zéro et ZF est posé. Label doit être dans les limites de -128 ou +127 bytes de l'instruction suivant le LOOP.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
label: saut | 8+m | 11+m | 9 | 2 |
pas de saut | 4 | ? | 6 | 2 |
LOOPNZ/LOOPNE - Loop While Not Zero / Loop While Not Equal
Usage: LOOPNZ label
LOOPNE label
Modifie les Flags suivants: Aucun(e)
Décrémente CX de 1 ( sans modifier les flags )et provoque branchement vers label si CX est différent de zéro et ZF est éffacé. Label doit être dans les limites de -128 ou +127 bytes de l'instruction suivant le LOOP.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
label: saut | 8+m | 11+m | 9 | 2 |
pas de saut | 4 | ? | 6 | 2 |
LSL - Load Segment Limit (286+ protected)
Usage: LSL dest,src
Modifie les Flags suivants: ZF
Charge la limite d'un segment d'un selecteur dans une registre de destination. Si le chargement est réussi, ZF est posé , sinon il est éffacé.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16,reg16 | 14 | 20/25 | 10 | 3 |
reg32,reg32 | 20/25 | 10 | 3 | |
reg16,mem16 | 16 | 21/26 | 10 | 5 |
reg32,mem32 | 21/26 | 10 | 5 | |
LSS - Load Pointer Using SS (386+)
Usage: LSS dest,src
Modifie les Flags suivants: Aucun(e)
Charge un pointeur 32 bit de la mémoire source vers le registre de destination et SS. L'offset est placé dans le registre de destination et le segment est placé dans SS. Pour utiliser cette instruction, le mot à l'adresse mémoire la plus basse doit contenir l'offset et le mot à la plus grande adresse doit contenir le segment. Ceci simplifie le chargement de pointeurs (FAR) depuis la pile et la table des vecteurs d'interruptions.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,mem | 7 | 6 | 5-7 | |
reg,mem (PM) | 22 | 12 | 5-7 |
LTR - Load Task Register (286+ privileged)
Usage: LTR src
Modifie les Flags suivants: Aucun(e)
Charge le registre des tâches courantes avec la valeur spécifiée dans la source.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16 | 17 | 23 | 20 | 3 |
mem16 | 19 | 27 | 20 | 5 |