CMC (instruction x86)

CMC est une instruction pour les processeurs de la famille x86.

Pour les articles homonymes, voir CMC.

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.

OpcodeInstructionDescription
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

  • 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'instruction x86
  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.