SAHF - Store AH Register into FLAGS
Usage: SAHF
Modifie les Flags suivants: AF CF PF SF ZF
Transfère les bits 0-7 du registre AH dans le registre des Flags. Ceci inclus AF,CF, PF, SF et ZF.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
Aucun(e) | 2 | 3 | 2 | 1 |
SAL/SHL - Shift Arithmetic Left / Shift Logical Left
Usage: SAL dest,count
SHL dest,count
Modifie les Flags sivants: CF OF PF SF ZF (AF indéfini)
Déplace la destination à gauche de "count" fois avec des zéros entrant par la droite. Le Carry Flag ( CF ) contient le dernier bit déplacé.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,1 | 2 | 3 | 3 | 2 |
mem,1 | 7 | 7 | 4 | 2-4 |
reg,CL | 5+n | 3 | 3 | 2 |
mem,CL | 8+n | 7 | 4 | 2-4 |
reg,immed8 | 5+n | 3 | 2 | 3 |
mem,immed8 | 8+n | 7 | 4 | 3-5 |
SAR - Shift Arithmetic Right
Usage: SAR dest,count
Modifie les Flags suivants: CF OF PF SF ZF (AF indéfini)
Déplace la destination à droite de "count" fois avec des zéros entrant par la gauche. Le Carry Flag ( CF ) contient le dernier bit déplacé.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,1 | 2 | 3 | 3 | 2 |
mem,1 | 7 | 7 | 4 | 2-4 |
reg,CL | 5+n | 3 | 3 | 2 |
mem,CL | 8+n | 7 | 4 | 2-4 |
reg,immed8 | 5+n | 3 | 2 | 3 |
mem,immed8 | 8+n | 7 | 4 | 3-5 |
SBB - Subtract with Borrow/Carry
Usage: SBB dest,src
Modifie les Flags suivants: AF CF OF PF SF ZF
Soustrait la source de la destination, et soustrait un extra si le Flag CF est posé. Les résultats sont retournés dans dest.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,reg | 2 | 2 | 1 | 2 |
mem,reg | 7 | 6 | 3 | 2-4 |
reg,mem | 7 | 7 | 2 | 2-4 |
reg,immed | 3 | 2 | 1 | 3-4 |
mem,immed | 7 | 7 | 3 | 3-6 |
accum,immed | 3 | 2 | 1 | 2-3 |
SCAS - Scan String (Byte, Word or Doubleword)
Usage: SCAS string
SCASB
SCASW
SCASD (386+)
Modifie les Flags suivants: AF CF OF PF SF ZF
Compare la valeur à ES:DI de l'accumulateur et pose les drapeaux comme pour la soustraction. DI est incrémenté/décrémenté selon le format de l'instruction ( ou la taille de l'opérande) et l'état du Direction Flag. Utiliser avec REP.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
chaîne | 7 | 7 | 6 | 1 |
SETAE/SETNB - Set if Above or Equal / Set if Not Below (386+)
Usage: SETAE dest
SETNB dest (unsigned, 386+)
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si CF est éffacé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETB/SETNAE - Set if Below / Set if Not Above or Equal (386+)
Usage: SETB dest
SETNAE dest (unsigned, 386+)
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si CF est posé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETBE/SETNA - Set if Below or Equal / Set if Not Above (386+)
Usage: SETBE dest
SETNA dest (non signé, 386+)
Modifie les Flags siuvants: Aucun(e)
Pose le byte dans l'opérande à 1 si CF ou ZF est posé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETE/SETZ - Set if Equal / Set if Zero (386+)
Usage: SETE dest
SETZ dest
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si ZF est posé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETNE/SETNZ - Set if Not Equal / Set if Not Zero (386+)
Usage: SETNE dest
SETNZ dest
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si ZF est éffacé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETL/SETNGE - Set if Less / Set if Not Greater or Equal (386+)
Usage: SETL dest
SETNGE dest (signed, 386+)
Modifie les Flags suivants: Aucun(e)
opérandes | 286 | 386 | 486 | Taille en Bytes |
---|---|---|---|---|
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETGE/SETNL - Set if Greater or Equal / Set if Not Less (386+)
Usage: SETGE dest
SETNL dest (signed, 386+)
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si SF est égal à Overflow Flag (OF) sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETLE/SETNG - Set if Less or Equal / Set if Not greater or Equal (386+)
Usage: SETLE dest
SETNG dest (signed, 386+)
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si ZF est pos ou si SF n'est pas égal à OF , sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETG/SETNLE - Set if Greater / Set if Not Less or Equal (386+)
Usage: SETG dest
SETNLE dest (signed, 386+)
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si ZF est éffacé ou SF est égal à OF sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETS - Set if Signed (386+)
Usage: SETS dest
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si SF est posé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETNS - Set if Not Signed (386+)
Usage: SETNS dest
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si SF est éffacé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETC - Set if Carry (386+)
Usage: SETC dest
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si CF est posé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETNC - Set if Not Carry (386+)
Usage: SETNC dest
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si CF est éffacé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETO - Set if Overflow (386+)
Usage: SETO dest
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si OF est posé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETNO - Set if Not Overflow (386+)
Usage: SETNO dest
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si OF est éffacé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETP/SETPE - Set if Parity / Set if Parity Even (386+)
Usage: SETP dest
SETPE dest
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si PF est posé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SETNP/SETPO - Set if No Parity / Set if Parity Odd (386+)
Usage: SETNP dest
SETPO dest
Modifie les Flags suivants: Aucun(e)
Pose le byte dans l'opérande à 1 si PF est éffacé sinon l'opérande est posé à zéro.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg8 | 4 | 3 | 3 | |
mem8 | 5 | 4 | 3 |
SGDT - Store Global Descriptor Table (286+ privileged)
Usage: SGDT dest
Modifie les Flags suivants: Aucun(e)
Range le registre de la table des descripteurs glogaux ( GDT ) dans l'opérande spécifiée.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
mem64 | 11 | 9 | 10 | 5 |
SIDT - Store Interrupt Descriptor Table (286+ privileged)
Usage: SIDT dest
Modifie les Flags suivants: Aucun(e)
Range le registre de la table des descripteurs d'interruptions ( IDT ) dans l'opérande spécifiée.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
mem64 | 12 | 9 | 10 | 5 |
SHR - Shift Logical Right
Usage: SHR dest,count
Modifie les Flags suivants: CF OF PF SF ZF (AF indéfini)
Déplace la destination à droite de "COUNT" bits avec les zéros entrant à gauche. Le Flag CF contient le dernier bit sorti.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,1 | 2 | 3 | 3 | 2 |
mem,1 | 7 | 7 | 4 | 2-4 |
reg,CL | 5+n | 3 | 3 | 2 |
mem,CL | 8+n | 7 | 4 | 2-4 |
reg,immed8 | 5+n | 3 | 2 | 3 |
mem,immed8 | 8+n | 7 | 4 | 3-5 |
SHLD/SHRD - Double Precision Shift (386+)
Usage: SHLD dest,src,count
SHRD dest,src,count
Modifie les Flags suivants: CF PF SF ZF (OF,AF indéfini)
SHLD déplace destination à gauche de "COUNT" fois et les positions des bits ouvertes sont remplies avec les bits les plus importants de source. SHRD déplace destination à droite de "COUNT" fois et les positions des bits ouvertes sont remplies avec les bits les plus importants de source. Seulement les 5 bits les plus bas de "COUNT" sont utilisés.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16,reg16,immed8 | 3 | 2 | 4 | |
reg32,reg32,immed8 | 3 | 2 | 4 | |
mem16,reg16,immed8 | 7 | 3 | 6 | |
mem32,reg32,immed8 | 7 | 3 | 6 | |
reg16,reg16,CL | 3 | 3 | 3 | |
reg32,reg32,CL | 3 | 3 | 3 | |
mem16,reg16,CL | 7 | 4 | 5 | |
mem32,reg32,CL | 7 | 4 | 5 |
SLDT - Store Local Descriptor Table (286+ privileged)
Usage: SLDT dest
Modifie les Flags suivants: Aucun(e)
Range le registre de la table des descripteurs locaux dans l'opérande spécifiée.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16 | 2 | 2 | 2 | 3 |
mem16 | 2 | 2 | 3 | 5 |
SMSW - Store Machine Status Word (286+ privileged)
Usage: SMSW dest
Modifie les Flags suivants: Aucun(e)
Range Machine Status Word (MSW) dans destination.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16 | 2 | 1 | 2 | 3 |
mem16 | 3 | 3 | 3 | 5 |
STC - Set Carry
Usage: STC
Modifie les Flags suivants: CF
Pose le CF à 1.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
Aucun(e) | 2 | 2 | 2 | 1 |
STD - Set Direction Flag
Usage: STD
Modifie les Flags suivants: DF
Pose le Direction Flag à 1 provoquant un changement dans les instructions de chaînes. Celles-ci auto-décrémentent SI et DI au lieu de l'auto-incrémenté.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
Aucun(e) | 2 | 2 | 2 | 1 |
STI - Set Interrupt Flag (Enable Interrupts)
Usage: STI
Modifie les Flags suivants: IF
Pose l'IF à 1, lequel permet la reconnaissance de toutes interruptions Hardware. Si une interruption est générée par un périphérique hardware, une fin d'interruption (EOI) doit également être émise pour permettre à d'autres interruptions hardware de la même ou plus basse priorité d'être déclénchées.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
Aucun(e) | 2 | 2 | 5 | 1 |
STOS - Store String (Byte, Word or Doubleword)
Usage: STOS dest
STOSB dest
STOSW dest
STOSD dest
Modifie les Flags suivants: Aucun(e)
Range la valeur de l'accumulateur à l'endroit pointé par ES:DI (même si l'opérande est donnée). (E)DI est incrémenté/décrémenté selon la taille de l'opérande (ou le format de l'instruction ) et l'état de DF. A utiliser avec REP.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
dest | 3 | 4 | 5 | 1 |
STR - Store Task Register (286+ privileged)
Usage: STR dest
Modifie les Flags suivants: Aucun(e)
Range le registre de tâche courante dans l'opérande spécifiées.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16 | 2 | 2 | 2 | 3 |
mem16 | 3 | 2 | 3 | 5 |
SUB - Subtract
Usage: SUB dest,src
Modifie les Flags suivants: AF CF OF PF SF ZF
La source est soustraite de la destination et le résultat est rangé dans la destination.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,reg | 2 | 2 | 1 | 2 |
mem,reg | 7 | 6 | 3 | 2-4 |
reg,mem | 7 | 7 | 2 | 2-4 |
reg,immed | 3 | 2 | 1 | 3-4 |
mem,immed | 7 | 7 | 3 | 3-6 |
accum,immed | 3 | 2 | 1 | 2-3 |