CALL - Procedure Call
Usage: CALL destination
Modifie les Flags suivants: aucun (e)
Appel d'une procédure. Met le pointeur d'instruction ( IP ) et le segment de code ( CS ) ( pour les appels de types FAR ) dans la pile et charge le pointeur d'instruction avec l'adresse de la procédure. Le code continue avec l'éxécution à CS:IP.
Horloges | |||
---|---|---|---|
opérandes | 286 | 386 | 486 |
rel16 (dans le même segment, IP relatif) | 7 | 7+m | 3 |
rel32 (dans le même segment, IP relatif) | 7+m | 3 | |
reg16 (dans le même segment, registre indirect) | 7 | 7+m | 5 |
reg32 (dans le même segment, registre indirect) | 7+m | 5 | |
mem16 (dans le même segment, mémoire indirecte) | 11 | 10+m | 5 |
mem32 (dans le même segment, mémoire indirecte) | 10+m | 5 | |
ptr16:16 (far, full ptr supporté) | 13 | 17+m | 18 |
ptr16:32 (far, full ptr supporté) | 17+m | 18 | |
ptr16:16 (far, ptr supplied, prot. mode) | 26 | 34+m | 20 |
ptr16:32 (far, ptr supplied, prot. mode) | 34+m | 20 | |
m16:16 (far, indirect) | 16 | 22+m | 17 |
m16:32 (far, indirect) | 22+m | 17 | |
m16:16 (far, indirect, prot. mode) | 29 | 38+m | 20 |
m16:32 (far, indirect, prot. mode) | 38+m | 20 | |
ptr16:16 (task, via TSS or task porte) | 177 | TS | 37+TS |
m16:16 (task, via TSS or task porte) | 180/185 | 5+TS | 37+TS |
m16:32 (task) | TS | 37+TS | |
m16:32 (task) | 5+TS | 37+TS | |
ptr16:16 (porte, same privilege) | 41 | 52+m | 35 |
ptr16:32 (porte, same privilege) | 52+m | 35 | |
m16:16 (porte, same privilege) | 44 | 56+m | 35 |
m16:32 (porte, same privilege) | 56+m | 35 | |
ptr16:16 (porte, more priv, no parm) | 82 | 86+m | 69 |
ptr16:32 (porte, more priv, no parm) | 86+m | 69 | |
m16:16 (porte, more priv, no parm) | 83 | 90+m | 69 |
m16:32 (porte, more priv, no parm) | 90+m | 69 | |
ptr16:16 (porte, more priv, x parms) | 86+4x | 94+4x+m | 77+4x |
ptr16:32 (porte, more priv, x parms) | 94+4x+m | 77+4x | |
m16:16 (porte, more priv, x parms) | 90+4x | 98+4x+m | 77+4x |
m16:32 (porte, more priv, x parms) | 98+4x+m | 77+4x |
CBW - converti Byte to Word
Usage: CBW
Modifie les Flags suivants: aucun (e)
Converti un byte contenu dans AL en une valeur de type WORD rangée dans AX en étendant le signe de AL à travers AH.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
aucun (e) | 2 | 3 | 3 | 1 |
CDQ - Convert Double to Quad (386+)
Usage: CDQ
Modifie les Flags suivants: aucun (e)
Converti les DWORD signés dans EAX vers un QUAD WORD dans EDX:EAX .
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
aucun (e) | 2 | 3 | 1 |
CLC - Clear Carry
Usage: CLC
Modifie les Flags suivants: CF
Efface le Carry Flag.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
aucun (e) | 2 | 2 | 2 | 1 |
CLD - Clear Direction Flag
Usage: CLD
Modifie les Flags suivants: DF
Efface le Direction Flag, ayant pour conséquence l'incrémentation des deux registres d'index SI et DI par les instructions de traitement de chaînes.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
aucun (e) | 2 | 2 | 2 | 1 |
CLI - Clear Interrupt Flag (disable)
Usage: CLI
Modifie les Flags suivants: IF
Lorsque le flag Interruption est éffacé, les interruptions ne sont pas reconnues jusqu'à ce que le Flag soit à nouveau posé à 1 avec l'instruction STI.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
aucun (e) | 2 | 3 | 5 | 1 |
CLTS - Clear Task Switched Flag (286+ privileged)
Usage: CLTS
Modifie les Flags suivants: aucun (e)
Efface le drapeau TS ( TASK SWITCHED ) dans le registre d'état. Ceci est une opération priviligiée et utilisée par les OS.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
aucun (e) | 2 | 5 | 7 | 2 |
CMC - Complement Carry Flag
Usage: CMC
Modifie les Flags suivants: CF
Inverse le Flag ( CF ) .
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
aucun (e) | 2 | 2 | 2 | 1 |
CMP - Compare
Usage: CMP dest,src
Modifie les Flags suivants: AF CF OF PF SF ZF
Soustrait la source de la destination et met à jour les drapeaux mais ne sauve pas les résultats.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,reg | 2 | 2 | 1 | 2 |
mem,reg | 7 | 5 | 2 | 2-4 |
reg,mem | 6 | 6 | 2 | 2-4 |
reg,immed | 3 | 2 | 1 | 3-4 |
mem,immed | 6 | 5 | 2 | 3-6 |
accum,immed | 3 | 2 | 1 | 2-3 |
CMPS - Compare String (Byte, Word or Doubleword)
Usage: CMPS dest,src
CMPSB
CMPSW
CMPSD (386+)
Modifie les Flags suivants: AF CF OF PF SF ZF
Soustrait la valeur destination de la source dans sauver les résultats. Les drapeaux mis à jour ayant un lien avec la soustraction et les registres d'index (E)SI et (E)DI sont incrémentés ou décrémentés selon l'état du Flag Direction. CMPSB inc/décrémente le registre d'index de 1, CMPSW inc/décrémente de 2. CMPSD inc/décrémente de 4.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
dest,src | 8 | 10 | 8 | 1 |
CMPXCHG - Compare and Exchange (486+)
Usage: CMPXCHG dest,src
Modifie les Flags suivants: AF CF OF PF SF ZF
Compare le registre accumulateur ( 8-32 bit ) avec la destination. Si le resgitre est égal à la destination, la source est chargée sinon la destination l'est.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,reg | 6 | 2 | ||
mem,reg | 7 | 2 | ||
ajoute 3 Horloges si la comparaison "mem,reg" échoue. |
CWD - Convert Word to Doubleword
Usage: CWD
Modifie les Flags suivants: aucun (e)
Etends le signe d'un word dans un registre AX à travers un registre DX , formant en definitive une quantité Double Word contenues dans DX:AX.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
aucun (e) | 2 | 2 | 3 | 1 |
CWDE - Convert Word to Extended Doubleword (386+)
Usage: CWDE
Modifie les Flags suivants: aucun (e)
Converti un word signé dans un AX en un Double Word signé dans EAX en étendant le bit de signe de AX à travers EAX.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
aucun (e) | 3 | 3 | 1 |