Retour à l'accueil Contact : etienne"point"sauvage"at"gmail.com Retour à la liste des instructions.

AND

logical AND


et logique

Effectue une opération ET bit-à-bit sur la valeur dans un registre ou un emplacement mémoire (premier opérande) et une valeur immédiate ou la valeur dans un registre ou un emplacement mémoire (second opérande), et stocke le résultat dans l'emplacement du premier opérande. L'instruction ne peut faire le ET de deux emplacements mémoire.

L'instruction positionne chaque bit du résultat à 1 si le bit correspondant de chaque opérande est positionné; sinon, il nettoie le bit à 0. Le tableau suivant montre la table de vérité pour l'opération ET :

XYX ET Y
000
010
100
111

Les formes de l'instruction AND qui écrivent en mémoire supportent le préfixe LOCK. Pour des détails à propos du préfixe LOCK, consulter "LOCK Prefix" page 10.

MnémoniqueOpcodeDescription
AND AL, imm824 ibET le contenu de AL avec une valeur immédiate de 8 bits et stocke le résultat dans AL.
AND AX, imm1625 iwET le contenu de AX avec une valeur immédiate de 16 bits et stocke le résultat dans AX.
AND EAX, imm3225 idET le contenu de EAX avec une valeur immédiate de 32 bits et stocke le résultat dans EAX.
AND RAX, imm3225 idET le contenu de RAX avec une valeur immédiate de 32 bits étendue avec le signe et stocke le résultat dans RAX.
AND reg/mem8, imm880 /4 ibET le contenu de reg/mem8 avec imm8.
AND reg/mem16, imm1681 /4 iwET le contenu de reg/mem16 avec imm16.
AND reg/mem32, imm3281 /4 idET le contenu de reg/mem32 avec imm32.
AND reg/mem64, imm3281 /4 idET le contenu de reg/mem64 avec imm32 étendue avec le signe.
AND reg/mem16, imm883 /4 ibET le contenu de reg/mem16 avec une valeur sur 8 bits étendue avec le signe.
AND reg/mem32, imm883 /4 ibET le contenu de reg/mem32 avec une valeur sur 8 bits étendue avec le signe.
AND reg/mem64, imm883 /4 ibET le contenu de reg/mem64 avec une valeur sur 8 bits étendue avec le signe.
AND reg/mem8, reg820 /rET le contenu sur 8 bits d'un registre ou d'un emplacement mémoire avec le contenu d'un registre sur 8 bits.
AND reg/mem16, reg1621 /rET le contenu sur 16 bits d'un registre ou d'un emplacement mémoire avec le contenu d'un registre sur 16 bits.
AND reg/mem32, reg3221 /rET le contenu sur 32 bits d'un registre ou d'un emplacement mémoire avec le contenu d'un registre sur 32 bits.
AND reg/mem64, reg6421 /rET le contenu sur 64 bits d'un registre ou d'un emplacement mémoire avec le contenu d'un registre sur 64 bits.
AND reg8, reg/mem822 /rET le contenu d'un registre sur 8 bits avec le contenu sur 8 bits d'un registre ou d'un emplacement mémoire.
AND reg16, reg/mem1623 /rET le contenu d'un registre sur 16 bits avec le contenu sur 16 bits d'un registre ou d'un emplacement mémoire.
AND reg32, reg/mem3223 /rET le contenu d'un registre sur 32 bits avec le contenu sur 32 bits d'un registre ou d'un emplacement mémoire.
AND reg64, reg/mem6423 /rET le contenu d'un registre sur 64 bits avec le contenu sur 64 bits d'un registre ou d'un emplacement mémoire.

Instructions apparentées

TEST, OR, NOT, NEG, XOR

rFLAGS affectés

IDVIPVIFACVMRFNTIOPLOFDFIFTFSFZFAFPFCF
0MMUM0
2120191817161413-1211109876420
Note : les bits 31-22, 15, 5, 3 et 1 sont réservés. Un drapeau mis à 1 ou nettoyé à 0 est M (modifié). Les drapeaux non affectés sont blancs. Les drapeaux non définis sont U.

Exceptions

ExceptionRéel8086
virtuel
ProtégéCause de l'exception
Pile, #SSXXXUne adresse mémoire dépasse la limite du segment de pile ou n'est pas canonique.
Protection générale, #GPXXX
X
X
Une adresse mémoire dépasse la limite d'un segment de données ou n'est pas canonique.
L'opérande de destination était dans un segment non inscriptible.
Un segment de données NULL a été utilisé pour référencer la mémoire.
Faute de page, #PFXXUne faute de page résulte de l'exécution de l'instruction.
Vérification d'alignement, #ACXXUne référence mémoire non alignée a été faite pendant que la vérification d'alignement était active.

Source : AMD x86-64 Architecture PROGRAMMER'S MANUAL Volume 3 General-Purpose and System Instructions, 24594 Rev. 3.02 August 2002.

Retour à l'accueil Contact : etienne"point"sauvage"at"gmail.com Retour à la liste des instructions