Voici la liste des instructions du microprocesseur de la famille des Z8000 de Zilog :
Nom | Description |
---|---|
ADC | Cette instruction permet d'effectuer le réglage de l'opérande source, avec le drapeau de retenue, est d'ajouter à l'opérande de destination et la somme étant entreposée dans la destination. |
ADD | Cette instruction permet d'ajouter l'opérande source à l'opérande de destination et la somme entreposée dans la destination. Le contenu de la source n'est pas affecté. L'addition du complément à deux est effectuée. |
AND | Cette instruction permet d'effectuer une opération ET binaire entre les bits correspondants des opérandes source et destination, et le résultat est entreposé dans la destination. Un bit est entreposé partout où les bits correspondants dans les deux opérandes sont tous les deux des uns; sinon, un bit zéro est entreposé. Le contenu source n'est pas affecté. |
BIT | Cette instruction permet de tester le bit spécifié dans l'opérande de destination et le drapeau Z est mis à un si le bit spécifié est zéro; sinon, le drapeau Z est remis à zéro. Le contenu de la destination n'est pas affecté |
CALL | Cette instruction permet de pousser le contenu actuel du compteur de programmes (PC) sur le dessus de la pile de processeurs. Le pointeur de pile utilisé est RI5 en mode non segmenté, ou RRI4 en mode segmenté. La valeur du compteur de programme utilisée est l'adresse de la première instruction suivant l'instruction CALL. L'adresse de destination spécifiée est alors chargée dans le PC et pointe vers la première instruction de la procédure appelée. À la fin de la procédure, une instruction RET peut être utilisée pour revenir au programme d'origine. L'instruction RET fait remonter le haut de la pile de processeurs dans le PC. |
CALR | Cette instruction permet de pousser le contenu actuel du compteur de programmes (PC) sur le dessus de la pile de processeurs. Le pointeur de pile utilisé est Rl5 en mode non segmenté, ou RRl4 en mode segmenté. La valeur du compteur de programme utilisée est l'adresse de la première instruction suivant l'instruction CALR. L'adresse de destination est calculée puis chargée dans le PC et pointe vers la première instruction d'une procédure. |
CLR | Cette instruction permet de remettre la destination est à zéro. |
COM | Cette instruction permet de compléter le contenu de la destination (son complément); tous les bits d'un sont modifiés à zéro, et vice-versa. |
COMFLG | Cette instruction permet de compléter toute combinaison des drapeaux C, Z, S, P ou V (chaque bit est remplacé par zéro et vice-versa). |
CP | Cette instruction permet de comparer l'opérande source à (soustrait de) l'opérande de destination, et les drapeaux appropriés sont définis en conséquence, pouvant ensuite être utilisés pour les sauts conditionnels arithmétiques et logiques. |
CPD | Cette instruction permet de rechercher une chaîne de données pour un élément répondant à la condition spécifiée. |
CPDR | Cette instruction permet de rechercher une chaîne de données pour un élément répondant à la condition spécifiée ou que R = 0. |
CPI | Cette instruction permet de rechercher une chaîne de données pour un élément répondant à la condition spécifiée et incrémentée. |
CPIR | Cette instruction permet de rechercher une chaîne de données pour un élément répondant à la condition spécifiée. Le contenu de l'emplacement adressé par le registre source est comparé à (soustrait de) l'opérande de destination, et le drapeau Z est positionné si le code de condition spécifié par cc serait établi par la comparaison; sinon, le drapeau Z est effacé. |
CPSD | Cette instruction permet de comparer deux chaînes de données jusqu'à ce que la condition spécifiée soit vraie. |
CPSDR | Cette instruction permet de comparer deux chaînes de données jusqu'à ce que la condition spécifiée soit vraie. Le contenu de l'emplacement adressé par le registre source est comparé (soustrait de) au contenu de l'emplacement adressé par le registre de destination. Le drapeau Z est défini si le code de condition spécifié par cc serait défini par la comparaison; sinon, le drapeau Z est effacé. |
CPSI | Cette instruction permet de comparer deux chaînes de données jusqu'à ce que la condition spécifiée soit vraie. Le contenu de la localisation adressée par le registre source est comparé (soustrait de) au contenu de la localisation adressée par le registre de destination. Le drapeau Z est positionné si le code de condition spécifié par cc serait établi par la comparaison; autrement, le drapeau Z est effacé. |
CPSIR | Cette instruction permet de comparer deux chaînes de données jusqu'à ce que la condition spécifiée soit vraie. Le contenu de l'emplacement adressé par le registre source est comparé (soustrait de) au contenu de l'emplacement adressé par le registre de destination. Le drapeau Z est défini si le code de condition spécifié par cc serait défini par la comparaison; sinon, le drapeau Z est effacé. |
DAB | Cette instruction permet d'ajuster l'octet de destination pour former deux chiffres BCD de 4 bits après une opération d'addition ou de soustraction binaire sur deux octets codés en BCD. |
DEC | Cette instruction permet de soustraire de l'opérande source (une valeur de 1 à 16) de l'opérande de destination et le résultat est entreposé dans la destination. |
DI | Cette instruction permet de contrôler toute combinaison des bits d'interruption vectorielle (VI) ou d'interruption non vectorielle (NVI) dans les drapeaux et mot de contrôle (FCW) est remise à zéro si le bit correspondant dans l'instruction est zéro, désactivant ainsi le type d'interruption approprié. |
DIV | Cette instruction permet de diviser l'opérande de destination (dividende) par l'opérande source (diviseur), le quotient est entreposé dans la moitié de poids faible de la destination et le reste est entreposé dans la moitié de poids fort de la destination. |
DJNZ | Cette instruction permet de décrémenter le registre utilisé comme compteur. Si le contenu du registre n'est pas nul après la décrémentation, l'adresse de destination est calculée puis chargée dans le compteur de programme (PC). |
EI | Cette instruction permet de contrôler toute combinaison de bits de contrôle d'interruption vectorielle (VI) ou d'interruption non vérifiée (NVI) Dans les indicateurs et le mot de contrôle (FCW) est mise à un si le bit correspondant dans l'instruction est zéro, permettant ainsi le type d'interruption approprié. |
EX | Cette instruction permet d'échanger le contenu de l'opérande source avec le contenu de l'opérande de destination. |
EXTS | Cette instruction permet de copier le bit de signe de la moitié de poids faible de l'opérande de destination dans toutes les positions de bit de la moitié de poids fort de la destination. |
HALT | Cette instruction permet de suspendre le fonctionnement du microprocesseur jusqu'à ce qu'une interruption ou une demande de réinitialisation soit reçue. Cette instruction est utilisée pour synchroniser le Z8000 avec des événements externes, en préservant son état jusqu'à ce qu'une interruption ou une demande de réinitialisation soit honorée. Après qu'une interruption est traitée, l'instruction suivant HALT est exécutée. Lorsqu'il est arrêté, les cycles de rafraîchissement de la mémoire se produisent toujours et BUSREQ est honoré. |
IN | Cette instruction permet de charger le contenu de l'opérande source, un port d'entrée, dans le registre de destination. |
INC | Cette instruction permet d'ajouter l'opérande source (une valeur de 1 à 16) à l'opérande de destination et la somme est entreposée dans la destination. L'addition du complément à deux est effectuée. L'opérande source peut être omis de l'instruction du langage d'assemblage et prend par défaut la valeur 1. |
IND | Cette instruction permet d'entrée le bloc de chaînes de données pour une opération normal d'entrée/sortie. |
INDR | Cette instruction permet d'entrée le bloc de chaînes de données pour une opération normal d'entrée/sortie et décrémente. |
INI | Cette instruction permet d'entrée le bloc de chaînes de données pour une opération normal d'entrée/sortie. |
INIR | Cette instruction permet d'entrée des blocs de chaînes de données pour une opération normal d'entrée/sortie. |
IRET | Cette instruction permet de revenir à une procédure précédemment exécutée à la fin d'une procédure saisie par une interruption ou un trap (y compris une instruction d'appel système). |
JP | Cette instruction permet d'effectuer un saut conditionnel de transfère de contrôle du programme à l'adresse de destination si la condition spécifiée par cc est satisfaite par les drapeaux dans le FCW. |
JR | Cette instruction permet d'effectuer un saut conditionnel de transfère de contrôle du programme à l'adresse de destination relative si la condition spécifiée par cc est satisfaite par les drapeaux dans le FCW. |
LD | Cette instruction permet de charger le contenu de la source dans la destination. Le contenu de la source n'est pas affecté. |
LDA | Cette instruction permet de calculer l'adresse de l'opérande source et charger dans le destination. Le contenu de la source n'est pas affecté. Le calcul d'adresse suit les règles de l'arithmétique d'adresse. La destination est un registre de mots en mode non segmenté, et une paire de registres en mode segmenté. |
LDAR | Cette instruction permet de calculer l'adresse de l'opérande source et charger dans la destination. Le contenu de la source n'est pas affecté. La destination est un registre de mots en mode non segmenté, et une paire de registres en mode segmenté. En mode segmenté, l'adresse chargée dans le destinataire a tous les bits réservés (bits 16 à 23 et bit 31) remis à zéro. |
LDCTL | Cette instruction permet de charger le contenu d'un registre à usage général dans un registre de contrôle, ou de charger le contenu d'un registre de contrôle dans un registre à usage général. |
LDCTLB | Cette instruction permet de charger le registre de drapeaux ou pour transférer son contenu dans un registre à usage général. Notez que ce n'est pas une instruction privilégiée. |
LDD | Cette instruction permet de transférer le bloc de chaînes de données. Le contenu de l'emplacement adressé par le registre source est chargé dans l'emplacement adressé par le registre de destination. |
LDDR | Cette instruction permet de transférer le bloc de chaînes de données. Le contenu de l'emplacement adressé par le registre source est chargé dans l'emplacement adressé par le registre de destination. Le registre source est chargé dans l'emplacement adressé par le registre de destination. Les registres source et destination sont alors décrémentés de un si LDDRB, ou de deux si LDDR, déplaçant ainsi les pointeurs vers les éléments précédents dans les chaînes. Le registre de mots spécifié par "r" (utilisé comme compteur) est alors décrémenté de un. |
LDI | Cette instruction permet de transférer le bloc de chaînes de données. Le contenu de l'emplacement adressé par le registre source est chargé dans l'emplacement adressé par le registre de destination. |
LDIR | Cette instruction permet de transférer le bloc de chaînes de données. Le contenu de l'emplacement adressé par le registre source est chargé dans l'emplacement adressé par le registre de destination. Les registres source et destination sont ensuite incrémentés de un si LOIRB, ou de deux si LOIR, déplaçant ainsi les pointeurs vers les éléments suivants dans les chaînes. Le registre de mots spécifié par "r" (utilisé comme compteur) est alors décrémenté de un. L'opération entière est répétée jusqu'à ce que le résultat de la décrémentation de r soit nul. |
LDK | Cette instruction permet de charger l'opérande source (une valeur constante spécifiée dans le champ source) dans le registre de destination. |
LDM | Cette instruction permet de charger le contenu de n mots source est chargé vers la destination. Le contenu de la source n'est pas affecté. La valeur de n est comprise entre 1 et 16, inclus. Cette instruction déplace les informations entre la mémoire et les registres; on accède aux registres dans un ordre croissant commençant par le registre spécifié; R0 suit R15. |
LDPS | Cette instruction permet de charger le contenu de l'opérande source est chargé dans l'état du programme (PS), chargeant les drapeaux et le mot de contrôle (FCW) et le compteur de programme (PC). La nouvelle valeur du FCW ne devient effective que lors de l'instruction suivante, de sorte que les broches d'état ne seront pas affectées par les nouveaux bits de contrôle jusqu'à la fin de l'exécution de l'instruction LDPS. La prochaine instruction exécutée est celle adressée par le nouveau contenu du PC. Le contenu de la source n'est pas affecté. |
LDR | Cette instruction permet de charger le contenu de l'opérande source dans la destination. Le contenu de la source n'est pas affecté. L'adresse relative est calculée en ajoutant le déplacement dans l'instruction à la valeur mise à jour du compteur de programme (PC) pour dériver l'adresse de l'opérande. |
MBIT | Cette instruction permet de synchroniser l'accès exclusif de plusieurs processeurs aux ressources matérielles partagées. La broche d'entrée multi-micro (MI) est testée et le drapeau S est effacé si la broche est basse (achve); autrement, l'indicateur S est positionné, indiquant que la broche est haute (inactive). |
MREQ | Cette instruction permet de synchroniser l'accès exclusif de plusieurs processeurs aux ressources matérielles partagées. Une demande de ressource est signalée par les broches d'entrée et de sortie multi-micro (MI et MO), les drapeaux S et Z indiquant la disponibilité de la ressource après que l'instruction MREQ a été exécutée. |
MRES | Cette instruction permet de synchroniser l'accès exclusif de plusieurs processeurs aux ressources matérielles partagées. La broche de sortie multi-micro MO est forcée à l'état haut (inactive). Le fait de forcer MO haut (inactif) indique qu'une ressource contrôlée par le microprocesseur est disponible pour une utilisation par d'autres processeurs. |
MSET | Cette instruction permet de synchroniser l'accès exclusif de plusieurs processeurs aux ressources matérielles partagées. La broche de sortie multi-micro MO est forcée à l'état bas (active). Le fait de forcer MO bas (actif) est utilisé soit pour indiquer qu'une ressource contrôlée par le microprocesseur n'est pas disponible pour d'autres processeurs, soit pour envoyer une requête pour une ressource contrôlée par un autre processeur. |
MULT | Cette instruction permet de multiplier la moitié de poids faible de l'opérande de destination (multipliant) par l'opérande source (multiplicateur) et le produit est entreposé dans la destination. Le contenu de la source n'est pas affecté. Les deux opérandes sont traités comme des entiers signés, complémentaires à deux. Pour MULT, la destination est une paire de registres et la source est une valeur de mot; pour MULTL, la destination est un quadruple de registre et la source est une valeur de mot long. |
NEG | Cette instruction permet d'effectuer une négation du contenu de la destination, c'est-à-dire remplacé par sa valeur de complément à deux. Notez que %8000 pour NEG et %80 pour NEGB sont remplacés par eux-mêmes puisque dans la représentation du complément à deux, le nombre négatif de plus grande amplitude n'a pas de contrepartie positive; pour ces deux cas, le drapeau V est positionné. |
NOP | Cette instruction permet d'effectuer aucune opération. |
OR | Cette instruction permet d'effectuer un OU binaire de l'opérande source avec l'opérande de destination et le résultat est entreposé dans la destination. Le contenu de la source n'est pas affecté. L'opération OR a pour résultat qu'un bit est entreposé chaque fois que l'un des bits correspondants dans les deux opérandes est un; sinon, un bit zéro est entreposé. |
OTDR | Cette instruction permet d'effectuer la sortie de bloc de chaînes de données. |
OTIR | Cette instruction permet d'effectuer la sortie de bloc de chaînes de données. |
OUT | Cette instruction permet de charger le contenu du registre source dans le port de sortie. |
OUTD | Cette instruction permet de sortir un bloc de chaînes de données et décrémente. |
OUTI | Cette instruction permet de sortir un bloc de chaînes de données et incrémente. |
POP | Cette instruction permet de charger le contenu de l'emplacement adressé par le registre source (un pointeur de pile) dans la destination. |
PUSH | Cette instruction permet de décrémenter le contenu du registre de destination (un pointeur de pile) d'une valeur égale à la taille en octets de l'opérande source. |
RES | Cette instruction permet d'effacer le bit spécifié dans l'opérande de destination sans affecter les autres bits de la destination. La source (le numéro de bit) peut être spécifiée comme une autre valeur immédiate (statique), ou comme un mot registre contenant la valeur (dynamique). Dans le second cas, l'opérande de destination doit être un registre et l'opérande source doit être RO à R7 pour RESB ou RO à R15 pour RES. Le numéro de bit est une valeur de 0 à 7 pour RESB, ou 0 à est pour RES, avec 0 indiquant le bit le moins significatif. |
RESFLG | Cette instruction permet de remettre à zéro toute combinaison des drapeaux C, Z, S, P ou V si les bits correspondants dans l'instruction sont un. Si le bit de l'instruction correspondant à un drapeau est égal à zéro, le drapeau ne sera pas affecté. Tous les autres bits du registre FLAGS ne sont pas affectés. Notez que les drapeaux P et V sont représentés par le même bit. |
RET | Cette instruction permet de revenir à une procédure précédemment exécutée à la fin d'une procédure saisie par une instruction CALL ou CALR. Si la condition spécifiée par cc est satisfaite par les drapeaux dans le FCW, alors le contenu de l'emplacement adressé par le pointeur de pile du processeur est inséré dans le compteur de programme (PC). |
RL | Cette instruction permet de tourner le contenu de l'opérande de destination vers la gauche d'un bit si l'opérande source est 1, ou de deux positions de bit si l'opérande source est 2. Le bit le plus significatif (msb) de l'opérande de destination est déplacé vers la position du bit 0 et également remplace le drapeau C. |
RLC | Cette instruction permet de tourner le contenu de l'opérande de destination avec le drapeau C à gauche d'un bit si l'opérande source est 1, ou de deux positions de bit si l'opérande source est 2. Le bit le plus significatif (msb) de l'opérande de destination remplace le drapeau C et la valeur précédente du drapeau C est déplacée vers la position de bit 0 de la destination à chaque rotation. |
RLDB | Cette instruction permet de concaténer logiquement le chiffre bas du registre d'octets de liaison au registre d'octets source. La quantité à trois chiffres résultante est tournée vers la gauche d'un chiffre BCD (quatre bits). Le chiffre inférieur de la source est déplacé vers le chiffre supérieur de la source; le chiffre supérieur de la source est déplacé vers le chiffre inférieur du lien, et le chiffre inférieur du lien est déplacé vers le chiffre inférieur de la source. |
RR | Cette instruction permet de tourner le contenu de l'opérande de destination vers la droite d'un bit si l'opérande source est 1, ou de deux positions de bit si l'opérande source est 2. Le bit le moins significatif de l'opérande de destination est déplacé vers le bit le plus significatif (msb) et également remplace le drapeau C. |
RRC | Cette instruction permet de tourner le contenu de l'opérande de destination avec le drapeau C d'une position de bit si l'opérande source est 1, ou de deux positions de bit si l'opérande source est 2. Le bit le moins significatif de l'opérande de destination remplace le drapeau C et la valeur précédente dans le drapeau C est déplacé vers la position de bit le plus significatif (msb) de la destination pendant chaque rotation. |
RRDB | Cette instruction permet de concaténer logiquement le chiffre bas du registre d'octets de liaison au registre d'octets source. La quantité à trois chiffres résultante est tournée vers la droite d'un chiffre BCD (quatre bits). |
SBC | Cette instruction permet de soutraire l'opérande source, avec le réglage du drapeau de retenue, de l'opérande de destination et le résultat est entreposé dans la destination. Le contenu de la source n'est pas affecté. La soustraction est effectuée en ajoutant le complément à deux de l'opérande source à l'opérande de destination. Dans l'arithmétique à précision multiple, cette instruction permet de soustraire la retenue de la sous-tranche d'opérandes d'ordre inférieur de la soustraction d'opérandes d'ordre élevé. |
SC | Cette instruction permet d'accéder au contrôle logiciel du système d'exploitation d'une manière similaire à une interruption ou une interruption. L'état actuel du programme (PS) est poussé sur la pile du processeur système, puis l'instruction elle-même, comprenant l'opérande source (une valeur de 8 bits) est poussée. Le PS comprend le drapeau et le mot de contrôle (FCW) et le compteur de programme mis à jour (PC). La valeur du compteur de programme mise à jour utilisée est l'adresse de la première instruction suivant l'instruction SC. |
SDA | Cette instruction permet de décaler arithmétiquement l'opérande de destination à gauche ou à droite du nombre de positions de bit spécifié par le contenu de l'opérande source, un registre de mots. |
SDL | Cette instruction permet de décaler logiquement l'opérande de destination à gauche ou à droite du nombre de bits positions spécifié par le contenu de l'opérande source, un registre de mots. |
SET | Cette instruction permet de définir le bit spécifié dans l'opérande de destination sans affecter les autres bits de la destination. |
SETFLG | Cette instruction permet de mettre à un toute combinaison des drapeaux C, Z, S, P ou V si les bits correspondants dans l'instruction sont un. |
SIN | Cette instruction permet de charger le contenu de l'opérande source, un port d'entrée spéciale, dans le registre de destination. |
SIND | Cette instruction permet d'entrée de bloc de chaînes de données pour une opération spéciale d'entrée/sortie. |
SINDR | Cette instruction permet d'entrée de bloc de chaînes de données pour une opération spéciale d'entrée/sortie et décrémente. |
SINI | Cette instruction permet d'entrée le bloc de chaînes de données pour une opération spéciale d'entrée/sortie. |
SINIR | Cette instruction permet d'entrée des blocs de chaînes de données pour une opération spéciale d'entrée/sortie. |
SLA | Cette instruction permet de décaler arithmétiquement l'opérande de destination à gauche du nombre de positions de bit spécifié par l'opérande source. |
SLL | Cette instruction permet de décaler logiquement l'opérande de destination vers la gauche du nombre de positions de bit spécifié par l'opérande source. |
SRA | Cette instruction permet de décaler arithmétiquement l'opérande de destination à droite du nombre de positions de bit spécifié par l'opérande source. |
SRL | Cette instruction permet de décaler logiquement l'opérande de destination vers la droite du nombre de positions de bit spécifié par l'opérande source. |
SUB | Cette instruction permet de soustraire l'opérande source de l'opérande de destination et le résultat est entreposé dans la destination. |
TCC | Cette instruction permet de créer une valeur de données booléenne basée sur les drapeaux définis par une opération précédente. |
TEST | Cette instruction permet de tester l'opérande de destination (logiquement OU avec zéro), et les drapeaux Z, S et P sont définis pour refléter les attributs du résultat. |
TRDB | Cette instruction permet de convertir une chaîne d'octets d'un code à un autre. |
TRDRB | Cette instruction permet de convertir une chaîne d'octets d'un code à un autre. Le contenu de l'emplacement adressé par le registre de destination (l'octet cible) est utilisé comme index dans une table de valeurs de conversion dont l'adresse la plus basse est contenue dans le registre source. L'index est calculé en ajoutant l'octet cible à l'adresse contenue dans le registre source. L'addition est effectuée en suivant les règles d'arithmétique d'adresse, avec l'octet cible traité comme une valeur 8 bits non signée étendue avec des zéros d'ordre élevé. La somme est utilisée comme adresse d'une valeur de conversion de 8 bits dans la table remplaçant le contenu d'origine de l'emplacement adressé par le registre de destination. |
TRIB | Cette instruction permet de convertir une chaîne d'octets d'un code à un autre. Le contenu de l'emplacement adressé par le registre de destination (l'octet cible) est utilisé comme index dans une table de valeurs de conversion dont l'adresse la plus basse est contenue dans le registre source. |
TRIRB | Cette instruction permet de convertir une chaîne d'octets d'un code à un autre. Le contenu de l'emplacement adressé par le registre de destination (l'octet cible) est utilisé comme index dans une table de valeurs de conversion dont l'adresse la plus basse est contenue dans le registre source. L'index est calculé en ajoutant l'octet cible à l'adresse contenue dans le registre source. L'addition est effectuée en suivant les règles d'arithmétique d'adresse, l'octet cible étant traité comme une valeur 8 bits non signée étendue avec des zéros d'ordre élevé. La somme est utilisée comme adresse d'une valeur de conversion de 8 bits dans la table remplaçant le contenu d'origine de l'emplacement adressé par le registre de destination. Le registre de destination est ensuite incrémenté de un, déplaçant ainsi le pointeur vers l'élément suivant de la chaîne. Le registre de mots spécifié par "r" (utilisé comme compteur) est alors décrémenté de un. |
TRTDB | Cette instruction permet d'analyser une chaîne d'octets pour tester les octets ayant une signification particulière. Le contenu de l'emplacement adressé par le premier registre source (l'octet cible) est utilisé comme index dans une table de valeurs de conversion dont l'adresse la plus basse est contenue dans le deuxième registre source. L'index est calculé en ajoutant l'octet cible à l'adresse contenue dans le deuxième registre source. L'addition est effectuée en suivant les règles d'arithmétique d'adresse, l'octet cible étant traité comme une valeur de 8 bits non signée étendue avec des zéros d'ordre élevé. La somme est utilisée comme adresse d'une valeur de 8 bits dans la table étant chargée dans le registre RHI. |
TRTDRB | Cette instruction permet d'analyser une chaîne d'octets pour tester les octets ayant une signification particulière. Le contenu de l'emplacement adressé par le premier registre source (l'octet cible) est utilisé comme index dans une table de valeurs de conversion dont l'adresse la plus basse est contenue dans le deuxième registre source. L'index est calculé en ajoutant l'octet cible à l'adresse contenue dans le deuxième registre source. L'addition est effectuée en suivant les règles d'arithmétique d'adresse, avec l'octet cible traité comme une valeur de 8 bits non signée étendue avec des zéros d'ordre élevé. La somme est utilisée comme adresse d'une valeur de 8 bits dans la table étant chargée dans le registre RHI. Le drapeau Z est défini si la valeur chargée dans RHI est zéro; sinon, le drapeau Z est effacé. Le contenu des emplacements adressés par les registres source n'est pas affecté. Le premier registre source est ensuite décrémenté de un, déplaçant ainsi le pointeur vers l'élément précédent de la chaîne. Le registre de mots spécifié par "r" (utilisé comme compteur) est alors décrémenté de un. |
TRTIB | Cette instruction permet d'analyser une chaîne d'octets pour tester les octets ayant une signification particulière. Le contenu de l'emplacement adressé par le premier registre source (l'octet cible) est utilisé comme index dans une table de valeurs de conversion dont l'adresse la plus basse est contenue dans le deuxième registre source. L'index est calculé en ajoutant l'octet cible à l'adresse contenue dans le deuxième registre source. L'addition est effectuée en suivant les règles d'arithmétique d'adresse, l'octet cible étant traité comme une valeur de 8 bits non signée étendue avec des zéros d'ordre élevé. La somme est utilisée comme adresse d'une valeur de 8 bits dans la table étant chargée dans le registre RHI. Le drapeau Z est défini si la valeur chargée dans RHI est zéro; sinon, le drapeau Z est effacé. Le contenu des emplacements adressés par les registres source n'est pas affecté. Le premier registre source est ensuite incrémenté de un, déplaçant ainsi le pointeur vers l'élément suivant de la chaîne. Le registre de mots spécifié par "r" (utilisé comme compteur) est alors décrémenté de un. Le deuxième registre source n'est pas affecté. Les registres source et compteur doivent être des registres séparés et sans chevauchement. |
TRTIRB | Cette instruction permet d'analyser une chaîne d'octets, en testant les octets avec une signification particulière. Le contenu de l'emplacement adressé par le premier registre source (l'octet cible) est utilisé comme index dans une table de valeurs de conversion dont l'adresse la plus basse est contenue dans le deuxième registre source. L'index est calculé en ajoutant l'octet cible à l'adresse contenue dans le deuxième registre source. L'addition est effectuée en suivant les règles d'arithmétique d'adresse, l'octet cible étant traité comme une valeur de 8 bits non signée étendue avec des zéros d'ordre élevé. La somme est utilisée comme adresse d'une valeur de 8 bits dans la table étant chargée dans le registre RHI. Le drapeau Z est défini si la valeur chargée dans RHI est zéro; sinon, le drapeau Z est effacé. Le contenu des emplacements adressés par les registres source n'est pas affecté. |
TSET | Cette instruction permet de tester le bit le plus significatif de l'opérande de destination, copiant sa valeur dans le drapeau S, puis définit la destination entière sur les 1 bits. Il fournit un mécanisme de verrouillage pouvant être utilisé pour synchroniser des processus logiciels nécessitant un accès exclusif à certaines données ou instructions à la fois. |
XOR | Cette instruction permet d'appliquer un OU EXCLUSIF binaire de l'opérande source avec l'opérande de destination et le résultat est entreposé dans la destination. Le contenu de la source n'est pas affecté. L'opération OU EXCLUSIF entraîne l'entreposage d'un bit chaque fois que les bits correspondants dans les deux opérandes sont différents; sinon, un bit zéro est entreposé. |
Dernière mise à jour : Mardi, le 5 janvier 2021