Section courante

A propos

Section administrative du site

Assembleur 80x86

ADCX

INTEL 64 Unsigned Integer Addition of Two Operands with Carry Flag

Syntaxe

ADCX Destination, Source

Paramètres

Nom Description
Destination Ce paramètre permet d'indiquer l'opérande recevant le résultat
Source Ce paramètre permet d'indiquer l'opérande à ajouter au résultat

Description

Cette instruction permet d'effectuer une addition de l'opérande de destination (première opérande), l'opérande source (deuxième opérande) et de drapeau de retenue (CF) et entrepose le résultat dans l'opérande de destination. L'opérande de destination est un registre à usage général, tandis que l'opérande source peut être un registre à usage général ou un emplacement de mémoire. L'état du drapeau de retenue (CF), peut représenter une retenue d'une addition précédente. L'instruction fixe CF avec la retenue généré par l'ajout d'une addition naturel des opérandes.

L'instruction ADCX est exécutée dans le contexte de l'addition multi-précision, où vous ajoutez une série d'opérande avec une chaîne de retenue. Au début d'une chaîne d'ajouts, vous devez vous assurez que le drapeau de retenue CF est dans un état initial désiré. Souvent, cet état initial doit être à 0, lequel peut être obtenu avec une instruction CF à 0 (comme par exemple avec l'instruction XOR).

Remarques

Algorithme

MODULE ADCX(dest,source)
   SI taille de l'opérande est 64 bits ALORS
      CF:dest(63..0) ← dest(63..0) + source(63..0) + CF
   SINON
      CF:dest(31..0) ← dest(31..0) + source(31..0) + CF
   FIN SI

Mnémonique

Instruction Opcode Description
ADCX r32, r/m32 66 0F 38 F6 /r Cette instruction permet d'effectuer une addition de l'opérande de destination (première opérande), l'opérande source (deuxième opérande) et de drapeau de retenue (CF) et entrepose le résultat dans l'opérande de destination.
ADCX r64, r/m64 66 REX.w 0F 38 F6 /r Cette instruction permet d'effectuer une addition de l'opérande de destination (première opérande), l'opérande source (deuxième opérande) et de drapeau de retenue (CF) et entrepose le résultat dans l'opérande de destination.

Affectations des registres de drapeaux

Cette instruction affectera les bits du registre de drapeaux de la façon suivante :

Drapeau Description
AF Ce bit n'est pas modifié.
CF Ce bit vaut 1 si une retenue décimale est provoquée par le résultat de cette opération autrement il vaudra 0.
OF Ce bit n'est pas modifié.
PF Ce bit n'est pas modifié.
SF Ce bit n'est pas modifié.
ZF Ce bit n'est pas modifié.

Exceptions

Message Description
#UD Si le bit de préfixe LOCK est utilisé.
#UD Si CPUID.(EAX=07H, ECX=0H):EBX.ADX[bit 19] = 0.
#SS(0) Si l'adresse du segment SS est illégale.
#GP(0) Si l'opérande de mémoire d'adresse mémoire est illégale pour les segments CS, DS, ES, FS ou GS.
#PF(fault-code) Pour une faut de page.
#AC(0) Si la vérification de l'alignement est actif et qu'une référence mémoire est désaligné dans le niveau de privilège 3 courant.


Dernière mise à jour : Dimanche, le 23 avril 2017