CMC est une instruction pour les processeurs de la famille x86.
Description
L'instruction CMC est un mnémonique pour Complement Carry Flag (complémente le drapeau de retenue). Cette instruction inverse (effectue un complément à un) le drapeau de retenue CF (bit 0 du registre EFLAGS). Ainsi, si le drapeau est à 1, l'instruction CMC le fait passer à 0, et vice-versa.
L'instruction CMC est une instruction de base des processeurs x86. Elle fut implémentée sur le premier processeur de cette famille, le 8086.
Opcode | Instruction | Description |
---|---|---|
F5 | CMC | Complémente le drapeau de retenue |
Drapeaux affectés
Seul le drapeau de retenue CF du registre EFLAGS est affecté. Aucun des autres drapeaux d'EFLAGS n'est altéré.
Exceptions générées
Cette instruction ne génère aucune exception dans aucun des trois modes de fonctionnement du processeur x86 (Mode réel, Mode virtuel 8086, Mode protégé).
Exemple d'utilisation
Les exemples proposés ne sont valables que pour les processeurs x86.
Langage assembleur
- MASM (Syntaxe Intel)
mov al, 0FFh add al, 1 ; le CF est armé après cette addition CMC ; inverse le drapeau de retenue et donc désarme le CF jc @retenue ; le saut conditionnel n'est pas pris ! nop ; cette instruction sera bien exécutée @retenue:
Voir aussi
Articles connexes
- STC - L'instruction qui arme le drapeau de retenue.
- CLC - L'instruction qui désarme le drapeau de retenue.
- EFLAGS - notamment la partie sur le drapeau de retenue CF.
- Jeu d'instructions x86