|
Voici un tableau de référence des différents
instructions du microprocesseur 370:
| 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. |
|