Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les remarques
Référence des instructions 370
Référence des instructions 370 avec prototypes
Les premiers pas
Préface
Notes légal
Dictionnaire
Recherche

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

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 chaîne de données à un autre chaîne 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 chaîne 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 chaîne 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 chaîne 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 chaînes de caractères
CLCL Compare Logical Characters Long 0Fh CLCL R1,R2 Cette instruction permet d'effectuer la comparaison logique de deux chaînes 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 chaîne 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 chaîne 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 chaînes 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 chaîne de données par une autre chaîne 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 chaîne de données à une autre chaîne de données
EDMK Edit and Mark DFh EDMK D1(L1,B1),D2(B2) Cette instruction permet d'intégrer une chaîne de données à une autre chaîne 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 mettre 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 mettre 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 mettre 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 mettre 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.


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Samedi, le 1er juillet 2017