Assembleur 68000 | CAS2 |
---|---|
Motorola 68020+ | Compare et échange 2 opérandes |
Syntaxe
CAS2 Dc1:Dc2,Du1:Du2,(Rn1):(Rn2) |
Paramètres
Nom | Description |
---|---|
Dc1 | Ce paramètre permet d'indiquer le registre de données contenant la valeur de test à comparer au premier opérande de mémoire. |
Dc2 | Ce paramètre permet d'indiquer le registre de données contenant la valeur de test à comparer au deuxième opérande de mémoire. |
Du1 | Ce paramètre permet d'indiquer le registre de données contenant la valeur de mise à jour à écrire dans l'emplacement du premier opérande de mémoire si les comparaisons sont réussis. |
Du2 | Ce paramètre permet d'indiquer le registre de données contenant la valeur de mise à jour à écrire dans l'emplacement du deuxième opérande de mémoire si les comparaisons sont réussis. |
Rn1 | Ce paramètre permet d'indiquer le numéro du registre contenant l'adresse du premier opérande de mémoire. |
Rn2 | Ce paramètre permet d'indiquer le numéro du registre contenant l'adresse du deuxième opérande de mémoire. |
Description
Cette instruction permet de comparer l'opérande mémoire avec l'opérande de comparaison.
Remarques
- Si les paramètres Dc1 et Dc2 spécifient le même registre de données et que la comparaison échoue, l'opérande de mémoire 1 est entreposé dans le registre de données.
- Les instructions CAS et CAS2 peuvent être utilisées pour effectuer des opérations de mise à jour sécurisées sur des structures de données de contrôle système dans un environnement avec de multiple processus.
- Avec le microprocesseur MC68040, si les opérandes ne sont pas égaux, l'opérande de destination 1 est réécrit en mémoire pour terminer le verrouillé d'accès.
Algorithme
cc ← CAS2 Destination 1 -- Compare 1 SI Z ALORS cc ← Destination 2 -- Compare 2 FIN SI SI Z ALORS Destination 1 ← 1 Destination 2 ← 2 SINON Compare 1 ← Destination 1 Compare 2 ← Destination 2 FIN SI |
Registre de codes de condition
Cette instruction affectera les bits de drapeau du registre de codes de condition de la façon suivante :
Nom du drapeau | Description |
---|---|
X | Ce bit n'est pas affecté |
N | Ce bit vaut 1 si le résultat est négatif sinon il vaut 0 |
Z | Ce bit vaut 1 si le résultat est zéro, autrement il vaut 0. |
V | Ce bit vaut 1 si un débordement de la limite supérieur se produit sinon il vaut 0. |
C | Ce bit vaut 1 si un débordement de la limite inférieur se produit sinon il vaut 0. |
Voir également
Langage de programmation - Assembleur 68000 - Référence d'instructions - CAS
Dernière mise à jour : Mercredi, le 22 novembre 2017