Sei sulla pagina 1di 5

TITLE 'SYSTEM/360 INSTRUCTION SET IN OPCODE SEQUENCE'

*---------------------------------------------------------------------*
* REGISTER-TO-REGISTER ("RR") FORMAT INSTRUCTIONS
*---------------------------------------------------------------------*
*
* GROUP 0000xxxx BRANCHING AND STATUS SWITCHING
*
*
*
*
*
SPM R1
Set Program Mask
(n)
BALR R1,R2
Branch and Link
BCTR R1,R2
Branch on Count
BCR M1,R2
Branch on Condition
SSK R1,R2
Set Storage Key
(p)
ISK R1,R2
Insert Storage Key
(p)
SVC I
Supervisor Call
*
*
*
*
*
*
* GROUP 0001xxxx FIXED-POINT FULLWORD AND LOGICAL
*
LPR R1,R2
Load Positive
(c)
LNR R1,R2
Load Negative
(c)
LTR R1,R2
Load and Test
(c)
LCR R1,R2
Load Complement
(c)
NR R1,R2
AND
(c)
CLR R1,R2
Compare Logical
(c)
OR R1,R2
OR
(c)
XR R1,R2
Exclusive OR
(c)
LR R1,R2
Load
CR R1,R2
Compare
(c)
AR R1,R2
Add
(c)
SR R1,R2
Subtract
(c)
MR R1,R2
Multiply
DR R1,R2
Divide
ALR R1,R2
Add Logical
(c)
SLR R1,R2
Subtract Logical
(c)
EJECT
*
* GROUP 0010xxxx FLOATING POINT LONG
*
LPDR R1,R2
Load Positive
(c)
LNDR R1,R2
Load Negative
(c)
LTDR R1,R2
Load and Test
(c)
LCDR R1,R2
Load Complement
(c)
HDR R1,R2
Halve
(c)
*
*
*
LDR R1,R2
Load
CDR R1,R2
Compare
(c)
ADR R1,R2
Add Normalized
(c)
SDR R1,R2
Subtract Normalized
(c)
MDR R1,R2
Multiply
DDR R1,R2
Divide

AWR R1,R2
SWR R1,R2

Add Unnormalized
Subtract Unnormalized

(c)
(c)

*
* GROUP 0011xxxx FLOATING POINT SHORT
*
LPER R1,R2
Load Positive
(c)
LNER R1,R2
Load Negative
(c)
LTER R1,R2
Load and Test
(c)
LCER R1,R2
Load Complement
(c)
HER R1,R2
Halve
(c)
*
*
*
LER R1,R2
Load
CER R1,R2
Compare
(c)
AER R1,R2
Add Normalized
(c)
SER R1,R2
Subtract Normalized
(c)
MER R1,R2
Multiply
DER R1,R2
Divide
AUR R1,R2
Add Unnormalized
(c)
SUR R1,R2
Subtract Unnormalized
(c)
EJECT
*---------------------------------------------------------------------*
* REGISTER-TO-INDEXED STORAGE ("RX") FORMAT
*---------------------------------------------------------------------*
*
* GROUP 0100xxxx FIXED-POINT HALFWORD AND BRANCHING
*
STH R1,D2(X2,B2) Store
LA
R1,D2(X2,B2) Load Address
STC R1,D2(X2,B2) Store Character
IC
R1,D2(X2,B2) Insert Character
EX
R1,D2(X2,B2) Execute
BAL R1,D2(X2,B2) Branch and Link
BCT R1,D2(X2,B2) Branch on Count
BC
M1,D2(X2,B2) Branch on Condition
LH
R1,D2(X2,B2) Load
CH
R1,D2(X2,B2) Compare
(c)
AH
R1,D2(X2,B2) Add
(c)
SH
R1,D2(X2,B2) Subtract
(c)
MH
R1,D2(X2,B2) Multiply
* (Note: No Divide Halfword!)
CVD R1,D2(X2,B2) Convert to Decimal
CVB R1,D2(X2,B2) Convert to Binary
*
* GROUP 0101xxxx FIXED-POINT FULLWORD AND LOGICAL
*
ST
R1,D2(X2,B2) Store
*
*
*
N
R1,D2(X2,B2) AND
(c)
CL
R1,D2(X2,B2) Compare Logical
(c)
O
R1,D2(X2,B2) OR
(c)
X
R1,D2(X2,B2) Exclusive OR
(c)
L
R1,D2(X2,B2) Load
C
R1,D2(X2,B2) Compare
(c)
A
R1,D2(X2,B2) Add
(c)
S
R1,D2(X2,B2) Subtract
(c)
M
R1,D2(X2,B2) Multiply

D
R1,D2(X2,B2) Divide
AL
R1,D2(X2,B2) Add Logical
SL
R1,D2(X2,B2) Subtract Logical
EJECT

(c)
(c)

*
* GROUP 0110xxxx FLOATING-POINT LONG
*
STD R1,D2(X2,B2) Store
*
*
*
*
*
*
*
LD
R1,D2(X2,B2) Load
CD
R1,D2(X2,B2) Compare
(c)
AD
R1,D2(X2,B2) Add Normalized
(c)
SD
R1,D2(X2,B2) Subtract Normalized
(c)
MD
R1,D2(X2,B2) Multiply
DD
R1,D2(X2,B2) Divide
AW
R1,D2(X2,B2) Add Unnormalized
(c)
SW
R1,D2(X2,B2) Subtract Unnormalized
(c)
*
* GROUP 0111xxxx FLOATING-POINT SHORT
*
STE R1,D2(X2,B2) Store
*
*
*
*
*
*
*
LE
R1,D2(X2,B2) Load
CE
R1,D2(X2,B2) Compare
(c)
AE
R1,D2(X2,B2) Add Normalized
(c)
SE
R1,D2(X2,B2) Subtract Normalized
(c)
ME
R1,D2(X2,B2) Multiply
DE
R1,D2(X2,B2) Divide
AU
R1,D2(X2,B2) Add Unnormalized
(c)
SU
R1,D2(X2,B2) Subtract Unnormalized
(c)
EJECT
*---------------------------------------------------------------------*
* REGISTER-STORAGE & STORAGE-IMMEDIATE ("RS" & "SI") FORMATS
*---------------------------------------------------------------------*
*
* GROUP 1000xxxx BRANCHING & SHIFTING
*
SSM D2(B2)
Set System Mask
*
LPSW D2(B2)
Load PSW
(n,p)
DC
X'83',3X'00' Diagnose
(p)
WRD D1(B1),I2
Write Direct
(p)
RDD D1(B1),I2
Read Direct
(p)
BXH R1,R3,D2(B2) Branch on Index High
BXLE R1,R3,D2(B2) Branch on Index Low/Equal
SRL R1,D2(B2)
Shift Right Single Logical
SLL R1,D2(B2)
Shift Left Single Logical
SRA R1,D2(B2)
Shift Right Single
(c)

SLA
SRDL
SLDL
SRDA
SLDA

R1,D2(B2)
R1,D2(B2)
R1,D2(B2)
R1,D2(B2)
R1,D2(B2)

Shift
Shift
Shift
Shift
Shift

Left Single
(c)
Right Double Logical
Left Double Logical
Right Double
(c)
Left Double
(c)

*
* GROUP 1001xxxx FIXED-POINT, LOGICAL and I/O
*
STM R1,R3,D2(B2) Store Multiple
TM
D1(B1),I2
Test Under Mask
(c)
MVI D1(B1),I2
Move Immediate
*
NI
D1(B1),I2
AND Immediate
(c)
CLI D1(B1),I2
Compare Logical
(c)
OI
D1(B1),I2
OR Immediate
(c)
XI
D1(B1),I2
Exclusive OR
(c)
LM
R1,R3,D2(B2) Load Multiple
*
*
*
SIO D2(B2)
Start I/O
(c,p)
TIO D2(B2)
Test I/O
(c,p)
HIO D2(B2)
Halt I/O
(c,p)
TCH D2(B2)
Test Channel
(c,p)
EJECT
*---------------------------------------------------------------------*
* STORAGE / STORAGE ("SS") FORMAT
*---------------------------------------------------------------------*
*
* GROUP 1101xxxx LOGICAL
*
*
MVN D1(L1,B1),D2(B2)
Move Numeric
MVC D1(L1,B1),D2(B2)
Move Character
MVZ D1(L1,B1),D2(B2)
Move Zones
NC
D1(L1,B1),D2(B2)
AND Characters
(c)
CLC D1(L1,B1),D2(B2)
Compare Logical
(c)
OC
D1(L1,B1),D2(B2)
OR Characters
(c)
XC
D1(L1,B1),D2(B2)
Exclusive OR
(c)
*
*
*
*
TR
D1(L1,B1),D2(B2)
Translate
TRT D1(L1,B1),D2(B2)
Translate and Test (c)
ED
D1(L1,B1),D2(B2)
Edit
(c,d)
EDMK D1(L1,B1),D2(B2)
Edit and Mark
(c,d)
*
* GROUP 1111xxxx DECIMAL
*
*
MVO D1(L1,B1),D2(L2,B2) Move W/Offset
PACK D1(L1,B1),D2(L2,B2) Pack
UNPK D1(L1,B1),D2(L2,B2) Unpack
*
*
*
*
ZAP D1(L1,B1),D2(L2,B2) Zero and Add
(c,d)
CP
D1(L1,B1),D2(L2,B2) Compare
(c,d)

AP
SP
MP
DP
*
*
*
B1
B2
*
D1
D2
*
I
I2
*
L1
L2
*
M1
*
R1
R2
R3
*
X2
*

EJECT
EQU 11
EQU 11
EQU 13
EQU 13
EQU 0
EQU 0
EQU 0
EQU 0
EQU B'0000'
EQU 0
EQU 0
EQU 0
EQU 0
END

D1(L1,B1),D2(L2,B2)
D1(L1,B1),D2(L2,B2)
D1(L1,B1),D2(L2,B2)
D1(L1,B1),D2(L2,B2)

Add
Subtract
Multiply
Divide

(c,d)
(c,d)
(d)
(d)

Potrebbero piacerti anche