Assembleur 80x86 | CMPSQ |
---|---|
x86-64+ | Compare String Quadword |
Syntaxe
CMPSQ |
Description
Cette instruction permet d'effectuer la comparaison d'un quadruple mot avec l'opérande source (DS:(R)SI) et destination (ES:(R)DI) et fixe l'état des drapeaux du registres EFLAGS en fonction des résultats de la comparaison.
Algorithme
MODULE CMPSQ Fixe les drapeaux d'états de ([(E)DI] = [(E)SI]) SI DF = 0 ALORS (E)SI ← (E)SI + 8 (E)DI ← (E)DI + 8 SINON (E)SI ← (E)SI - 8 (E)DI ← (E)DI - 8 FIN SI |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
CMPSQ | A7h | Compare le quadruple mot à l'adresse DS:(R)SI avec le quadruple mot à l'adresses ES:(R)DI et incrémente ou décrémente les registres (R)SI et (R)DI |
Exceptions
Message | Mode réel | Virtuel 8086 | Mode protégé | Description |
---|---|---|---|---|
#SS(Pile) | X | X | X | Une adresse mémoire dépasse la limite du segment de pile ou n'est pas canonique |
#GP(Protection général) | X | X | X | Une adresse mémoire dépasse la limite du segment de données ou n'est pas canonique |
X | Un segment de données nulle est utilisé comme référence mémoire | |||
#PF(Faute de page) | X | X | Une faute de page résultat de l'exécution de l'instruction | |
#AC(Vérifie l'alignement) | X | X | Un désalignement de la référence mémoire est effectué quand une vérification d'alignement est activé |
Voir également
Instruction assembleur 80x86 - Instruction CMP
Instruction assembleur 80x86 - Instruction SCAS
Références
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M, Edition Intel, Mars 2010, Publication No. 253666-034US, page 219 à 224.
Dernière mise à jour : Samedi, le 2 août 2014