Section courante

A propos

Section administrative du site

Voici un tableau de référence des différents instructions du microprocesseur 370:

Nom Signification Opcode Syntaxe Description
A Add 5Ah A R1,D2(X2,B2) Cette instruction permet d'effectuer une addition d'une adresse contenant un double mot (4 octets) à un registre.
AH Add Halfword 4Ah AH R1,D2(X2,B2) Cette instruction permet d'effectuer une addition d'une adresse contenant un mot (2 octets) à un registre.
AL Add Logical 5Eh AL R1,D2(X2,B2) Cette instruction permet d'effectuer une addition logique d'une adresse contenant un double mot (4 octets) à un registre.
ALR Add Logical Registers 1Eh ALR R1,R2 Cette instruction permet d'effectuer une addition logique d'un registre à un autre registre.
AP Add Packed FAh AP D1(L1,B1),D2(L2,B2) Cette instruction permet d'effectuer une addition d'une chaine de données à un autre chaine de données.
AR Add Registers 1Ah AR R1,R2 Cette instruction permet d'effectuer une addition d'un registre à un autre registre.
BAL Branch and Link 45h BAL R1,D2(X2,B2) Cette instruction permet d'effectuer un saut à l'adresse spécifié et place les informations de liaisons dans un registre.
BALR Branch and Link Register 05h BALR R1,R2 Cette instruction permet d'effectuer un saut à l'adresse d'un registre et place les informations de liaisons dans un autre registre.
BAS Branch and Save 4Dh BAS R1,D2(X2,B2) Cette instruction permet d'effectuer un saut à l'adresse spécifié et place les informations de liaisons dans un registre.
BASR Branch and Save Register 0Dh BASR R1,R2 Cette instruction permet d'effectuer un saut à l'adresse d'un registre et place les informations de liaisons dans un autre registre.
BASSM Branch, Save and Set Mode 0Ch BASSM R1,R2 Cette instruction permet d'effectuer un saut à l'adresse d'un registre et place les informations de liaisons dans un autre registre et fixe le mode d'adressage.
BC Branch on Condition 47h BC M1,D2(X2,B2) Cette instruction permet d'effectuer un saut à l'adresse d'un registre si le masque de l'instruction correspond sinon il passe à l'instruction suivante tout simplement.
BCR Branch on Condition Register 07h BCR M1,R2 Cette instruction permet d'effectuer un saut à l'adresse d'un registre si le masque de l'instruction, contenu dans un registre, correspond sinon il passe à l'instruction suivante tout simplement.
BCT Branch on Count 46h BCT R1,D2(X2,B2) Cette instruction permet de décrémenter de 1 le registre désigné comme compteur et d'effectuer un saut à l'adresse si le compteur ne vaut pas 0 sinon il passe à l'instruction suivante tout simplement.
BCTR Branch on Count Register 06h BCTR R1,R2 Cette instruction permet de décrémenter de 1 le registre désigné comme compteur et d'effectuer un saut à l'adresse, contenu dans un registre, si le compteur ne vaut pas 0 sinon il passe à l'instruction suivante tout simplement.
BSM Branch and Set Mode 0Bh BSM R1,R2 Cette instruction permet d'effectuer un saut à l'adresse d'un registre et fixe le mode d'adressage.
BXH Branch on Index High 86h BXH R1,R3,D2(B2) Cette instruction permet d'incrémenter le registre désigné comme index et d'effectuer un saut à l'adresse si le condition de comparaison d'inférieur est satisfaite sinon il passe à l'instruction suivante tout simplement.
BXLE Branch on Index Low/Equal 87h BXLE R1,R3,D2(B2) Cette instruction permet d'incrémenter le registre désigné comme index et d'effectuer un saut à l'adresse si le condition de comparaison d'inférieur ou égale est satisfaite sinon il passe à l'instruction suivante tout simplement.
C Compare 59h C R1,D2(X2,B2) Cette instruction permet d'effectuer la comparaison d'une chaine de données et d'un registre
CDS Compare Double and Swap BBh CDS R1,R3,D2(B2) Cette instruction permet d'effectuer la comparaison d'une opérande et d'un registre. S'ils sont égales, alors l'autre registre est copié dans l'opérande
CH Compare Halfword 49h CH R1,D2(X2,B2) Cette instruction permet d'effectuer la comparaison d'une chaine de données et d'un registre de taille de 2 octets (simple mot)
CL Compare Logical 55h CL R1,D2(X2,B2) Cette instruction permet d'effectuer la comparaison logique d'une chaine de données et d'un registre
CLC Compare Logical Characters D5h CLC D1(L,B1),D2(B2) Cette instruction permet d'effectuer la comparaison logique de deux chaines de caractères
CLCL Compare Logical Characters Long 0Fh CLCL R1,R2 Cette instruction permet d'effectuer la comparaison logique de deux chaines de caractères de grande taille
CLI Compare Logical Immediate 95h CLI D1(B1),I2 Cette instruction permet d'effectuer la comparaison logique d'une chaine de données et d'une valeur immédiate
CLM Compare Logical under Mask BDh CLM R1,M3,D2(B2) Cette instruction permet d'effectuer la comparaison avec un masque d'une chaine de données et d'un registre
CLR Compare Logical Registers 15h CLR R1,R2 Cette instruction permet d'effectuer la comparaison logique d'un registre et d'un autre registre
CP Compare Packed F9h CP D1(L1,B1),D2(L2,B2) Cette instruction permet d'effectuer la comparaison de deux chaines de données
CR Compare Registers 19h CR R1,R2 Cette instruction permet d'effectuer la comparaison d'un registre et d'un autre registre
CS Compare and Swap BAh CS R1,R3,D2(B2) Cette instruction permet d'effectuer la comparaison d'une opérande et d'un registre. S'ils sont égales, alors l'autre registre est copié dans l'opérande
CVB Convert to Binary 4Fh CVB R1,D2(X2,B2) Cette instruction permet d'effectuer la conversion d'un décimal, contenu dans une opérande, à un nombre binaire retourner dans un registre
CVD Convert to Decimal 4Eh CVD R1,D2(X2,B2) Cette instruction permet d'effectuer la conversion d'un nombre binaire, contenu dans une opérande, à un décimal retourner dans un registre
D Divide 5Dh D R1,D2(X2,B2) Cette instruction permet d'effectuer la division d'une paire de registres par une opérande
DP Divide Packed FDh DP D1(L1,B1),D2(L2,B2) Cette instruction permet d'effectuer la division d'une chaine de données par une autre chaine de données
DR Divide Registers 1Dh DR R1,R2 Cette instruction permet d'effectuer la division d'une paire de registres par une registre
ED Edit DEh ED D1(L1,B1),D2(B2) Cette instruction permet d'intégrer une chaine de données à une autre chaine de données
EDMK Edit and Mark DFh EDMK D1(L1,B1),D2(B2) Cette instruction permet d'intégrer une chaine de données à une autre chaine de données avec un masque
EX Execute 44h EX R1,D2(X2,B2) Cette instruction permet d'exécuter le contenu du registre spécifié.
IC Insert Character 43h IC R1,D2(X2,B2) Cette instruction permet d'insérer des bits d'une opérande dans un registre
ICM Insert Character under Mask BFh ICM R1,M3,D2(B2) Cette instruction permet d'insérer des bits d'une opérande de masque de contrôle dans un registre
L Load 58h L R1,D2(X2,B2) Cette instruction permet de charger une adresse de 4 octets dans un registre
LA Load Address 41h LA R1,D2(X2,B2) Cette instruction permet de charger une adresse dans un registre
LCR Load Complement Registers 13h LCR R1,R2 Cette instruction permet d'effectuer le complément d'une registre
LH Load Halfword 48h LH R1,D2(X2,B2) Cette instruction permet de charger une adresse de 2 octets dans la partie haute d'un registre de 4 octets
LM Load Multiple 98h LM R1,R3,D2(B2) Cette instruction permet de charger un ensemble de registre, situé dans l'intervalle spécifié, dans une opérande
LNR Load Negative 11h LNR R1,R2 Cette instruction permet d'effectuer le complément de la valeur absolue d'une registre
LPR Load Postive Registers 10h LPR R1,R2 Cette instruction permet d'effectuer la valeur absolue d'une registre
LR Load Register 18h LR R1,R2 Cette instruction permet de copier un registre dans un autre registre
LTR Load and Test Register 12h LTR R1,R2 Cette instruction permet de copier un registre dans un autre registre et effectue un teste de celui-ci
M Multipy 5Ch M R1,D2(X2,B2) Cette instruction permet d'effectuer la multiplication de l'opérande et du seconde registre de la paire et de met le résultat dans un registre
MH Multipy Halfword 4Ch MH R1,D2(X2,B2) Cette instruction permet d'effectuer la multiplication de l'opérande et du registre et de met le résultat dans le registre
MP Multipy Packed FCh MP D1(L1,B1),D2(L2,B2) Cette instruction permet d'effectuer la multiplication de deux opérandes et de met le résultat dans la première opérande
MR Multipy Registers 1Ch MR R1,R2 Cette instruction permet d'effectuer la multiplication de deux registres et de met le résultat dans le première registre
MVC Move Characters D2h MVC D1(L,B1),D2(B2) Cette instruction permet de copier un bloc de données dans une autre bloc de données
MVCIN Move Inverse E8h MVCIN D1(L,B1),D2(B2) Cette instruction permet de copier un bloc de données dans une autre bloc de données dans le sens inverse
MVCL Move Characters Long 0Eh MVCL R1,R2 Cette instruction permet de copier un bloc de données de grande taille dans autre une bloc de données
MVI Move Immediate 92h MVI D1(B1),I2 Cette instruction permet de copier une valeur immédiate dans une opérande
MVN Move Numerics D1h MVN D1(L,B1),D2(B2) Cette instruction permet de copier les 4 bits du haut d'un octet d'un bloc de données dans une autre bloc de données
MVO Move with Offset F1h MVO D1(L1,B1),D2(L2,B2) Cette instruction permet de copier les 4 bits du haut d'un octet d'un bloc de données dans les 4 bits du bas d'un autre bloc de données
MVZ Move Zones D3h MVZ D1(L,B1),D2(B2) Cette instruction permet de copier les 4 bits du gauche d'un octet d'un bloc de données dans une autre bloc de données
N aNd 54h N R1,D2(X2,B2) Cette instruction permet d'effectuer une opération de «Et binaire» d'une opérande à un registre
NC aNd Characters D4h NC D1(L,B1),D2(B2) Cette instruction permet d'effectuer une opération de «Et binaire» d'un bloc de données à un autre bloc de données
NI aNd Immediate 94h NI D1(B1),I2 Cette instruction permet d'effectuer une opération de «Et binaire» d'une valeur immédiate à un registre
NR aNd Registers 14h NR R1,R2 Cette instruction permet d'effectuer une opération de «Et binaire» d'un registre à un autre registre
O Or 56h O R1,D2(X2,B2) Cette instruction permet d'effectuer une opération de «Ou binaire» d'une opérande à un registre
OC Or Characters D6h OC D1(L,B1),D2(B2) Cette instruction permet d'effectuer une opération de «Ou binaire» d'un bloc de données à un autre bloc de données
OI Or Immediate 96h OI D1(B1),I2 Cette instruction permet d'effectuer une opération de «Ou binaire» d'une valeur immédiate à un registre
OR Or Registers 16h OR R1,R2 Cette instruction permet d'effectuer une opération de «Ou binaire» d'un registre à un autre registre
PACK Pack F2h PACK D1(L1,B1),D2(L2,B2) Cette instruction permet de copier un bloc de données de décimal dans un bloc de données compacté
S Subtract 5Bh S R1,D2(X2,B2) Cette instruction permet d'effectuer la soustraction d'une opérande à un registre
SH Subtract Halfword 4Bh SH R1,D2(X2,B2) Cette instruction permet d'effectuer la soustraction d'une opérande de 2 octets à un registre
SL Subtract Logical 5Fh SL R1,D2(X2,B2) Cette instruction permet d'effectuer la soustraction logique d'une opérande à un registre
SLA Shift Left Single 8Bh SLA R1,D2(B2) Cette instruction permet d'effectuer un décalage de bits vers la gauche, du nombre de position spécifié par l'opérande, d'un registre de 32 bits. Seul les bits 1 à 31 sont déplacés, puis le bit 0 est utilisé comme signe (+ ou -).
SLDA Shift Left Double 8Fh SLDA R1,D2(B2) Cette instruction permet d'effectuer un décalage de bits vers la gauche, du nombre de position spécifié par l'opérande, d'un registre de 64 bits. Seul les bits 1 à 63 sont déplacés, puis le bit 0 est utilisé comme signe (+ ou -).
SLDL Shift Left Double Logical 8Dh SLDL R1,D2(B2) Cette instruction permet d'effectuer un décalage de bits logique vers la gauche, du nombre de position spécifié par l'opérande, d'un registre de 64 bits.
SLL Shift Left Single Logical 89h SLL R1,D2(B2) Cette instruction permet d'effectuer un décalage de bits vers la gauche, du nombre de position spécifié par l'opérande, d'un registre de 32 bits.
SLR Subtract Logical Registers 1Fh SLR R1,R2 Cette instruction permet d'effectuer la soustraction logique d'un registre à un autre registre
SP Subtract Packed FBh SP D1(L1,B1),D2(L2,B2) Cette instruction permet d'effectuer la soustraction d'un bloc de données à un autre bloc de données
SR Subtract Registers 1Bh SR R1,R2 Cette instruction permet d'effectuer la soustraction d'un registre à un autre registre
SRA Shift Right Single 8Ah SRA R1,D2(B2) Cette instruction permet d'effectuer un décalage de bits vers la droite, du nombre de position spécifié par l'opérande, d'un registre de 32 bits. Seul les bits 1 à 31 sont déplacés, puis le bit 0 est utilisé comme signe (+ ou -).
SRDA Shift Right Double 8Eh SRDA R1,D2(B2) Cette instruction permet d'effectuer un décalage de bits vers la droite, du nombre de position spécifié par l'opérande, d'un registre de 64 bits. Seul les bits 1 à 63 sont déplacés, puis le bit 0 est utilisé comme signe (+ ou -).
SRDL Shift Right Double Logical 8Ch SRDL R1,D2(B2) Cette instruction permet d'effectuer un décalage de bits logique vers la droite, du nombre de position spécifié par l'opérande, d'un registre de 64 bits.
SRL Shift Right Single Logical 88h SRL R1,D2(B2) Cette instruction permet d'effectuer un décalage de bits vers la droite, du nombre de position spécifié par l'opérande, d'un registre de 32 bits.
SRP Shift and Round Decimal F0h SRP D1(L1,B1),D2(B2),I3 Cette instruction permet d'effectuer un décalage et d'arrondir un bloc de données.
ST Store 50h ST R1,D2(X2,B2) Cette instruction permet de copier un registre dans l'opérande spécifié.
STC Store Character 42h STC R1,D2(X2,B2) Cette instruction permet de copier les bits de 24 à 31 dans l'opérande spécifié.
STCM Store Character under Mask BEh STCM R1,M3,D2(B2) Cette instruction permet de copier les bits de 24 à 31 dans l'opérande spécifié avec un masque.
STH Store Halfword 40h STH R1,D2(X2,B2) Cette instruction permet de copier les bits de 16 à 31 dans l'opérande spécifié.
STM Store Multiple 90h STM R1,R3,D2(B2) Cette instruction permet de charger une opérande dans l'ensemble de registre situé dans l'intervalle spécifié
SVC Supervisor Call 0Ah SVC I1 Cette instruction permet d'appeler une interruption de superviseur
TM Test under Mask 91h TM D1(B1),I2 Cette instruction permet d'effectuer un teste d'un masque de bit à bit.
TR Translate DCh TR D1(L1,B1),D2(B2) Cette instruction permet de copier un octet à répétition dans un bloc de données
TRT Translate and Test DDh TRT D1(L1,B1),D2(B2) Cette instruction permet de copier un octet à répétition dans un bloc de données en sélectionnant une fonction d'octets.
UNPK Unpack F3h UNPK D1(L1,B1),D2(L2,B2) Cette instruction permet de copier un bloc de données compacté dans un bloc de données en décimal
X eXclusive Or 57h X R1,D2(X2,B2) Cette instruction permet d'effectuer une opération de «Ou exclusif binaire» d'une opérande à un registre
XC eXclusive Or Characters D7h XC D1(L,B1),D2(B2) Cette instruction permet d'effectuer une opération de «Ou exclusif binaire» d'un bloc de données à un autre bloc de données
XI eXclusive Or Immediate 97h XI D1(B1),I2 Cette instruction permet d'effectuer une opération de «Ou exclusif binaire» d'une valeur immédiate à un registre
XR eXclusive Or Registers 17h XR R1,R2 Cette instruction permet d'effectuer une opération de «Ou exclusif binaire» d'un registre à un autre registre
ZAP Zero Add Packed F8h ZAP D1(L1,B1),D2(L2,B2) Cette instruction permet de réinitialiser à 0 un bloc de données et d'ajouter des données compactés à celui-ci.


Dernière mise à jour : Mardi, le 6 décembre 2016