-
Notifications
You must be signed in to change notification settings - Fork 2
/
DISOP360
183 lines (183 loc) · 14.5 KB
/
DISOP360
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
OP360 TITLE 'DISOP360 - OPCODE TABLE FOR S/360' 00010000
*--------------------------------------------------------------------* 00020000
* * 00030000
* Module name: DISOP360 (modified alias of 370 table for default) * 00040000
* * 00050000
* Function: * 00060000
* Define valid machine opcodes for System 360 * 00070000
* * 00080000
*--------------------------------------------------------------------* 00090000
COPY DISASMGB 00100000
DISOP360 CSECT , DEFAULT TABLE GP10015 00110000
ORG DISOP360+(256*4) 00120000
* ------------------------------------------------------------------- * 00130000
* OPCODE TABLE FOR S/360 (WITHOUT SSM, SIO, TIO, HIO, TCH) * 00140000
* ------------------------------------------------------------------- * 00150000
OPCODE 00,DC,0 DUMMY ENTRY FOR DCs 00160000
OPCODE 04,SPM,$OPRR4,MASK=000F GP10018 00170000
OPCODE 05,BALR,$OPRR1,'CALL' 00180000
OPCODE 06,BCTR,$OPRR1,'LOOP' 00190000
OPCODE 07,BCR,$OPRR3,FLAGS=$OPEXT 00200000
OPCODE 08,SSK,$OPRR1 00210000
OPCODE 09,ISK,$OPRR1 00220000
OPCODE 0A,SVC,$OPRR2,'SVC',FLAGS=$OPSVC GP10035 00230000
OPCODE 10,LPR,$OPRR1,FLAGS=$OPCCA 00240000
OPCODE 11,LNR,$OPRR1,FLAGS=$OPCCA 00250000
OPCODE 12,LTR,$OPRR1,FLAGS=$OPCCA 00260000
OPCODE 13,LCR,$OPRR1,FLAGS=$OPCCA 00270000
OPCODE 14,NR,$OPRR1,FLAGS=$OPCCL 00280000
OPCODE 15,CLR,$OPRR1,FLAGS=$OPCCC 00290000
OPCODE 16,OR,$OPRR1,FLAGS=$OPCCL 00300000
OPCODE 17,XR,$OPRR1,FLAGS=$OPCCL 00310000
OPCODE 18,LR,$OPRR1 00320000
OPCODE 19,CR,$OPRR1,FLAGS=$OPCCC 00330000
OPCODE 1A,AR,$OPRR1,FLAGS=$OPCCA 00340000
OPCODE 1B,SR,$OPRR1,FLAGS=$OPCCA 00350000
OPCODE 1C,MR,$OPRR1,MASK=0010 GP10072 00360000
OPCODE 1D,DR,$OPRR1,MASK=0010 GP10072 00370000
OPCODE 1E,ALR,$OPRR1,FLAGS=$OPCCA 00380000
OPCODE 1F,SLR,$OPRR1,FLAGS=$OPCCA 00390000
OPCODE 20,LPDR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00400000
OPCODE 21,LNDR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00410000
OPCODE 22,LTDR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00420000
OPCODE 23,LCDR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00430000
OPCODE 24,HDR,$OPRR1,MASK=0099 GP10018 00440000
OPCODE 25,LRDR,$OPRR1,MASK=0099 GP10018 00450000
OPCODE 26,MXR,$OPRR1,MASK=0099 GP10018 00460000
OPCODE 27,MXDR,$OPRR1,MASK=0099 GP10018 00470000
OPCODE 28,LDR,$OPRR1,MASK=0099 GP10018 00480000
OPCODE 29,CDR,$OPRR1,FLAGS=$OPCCC,MASK=0099 GP10018 00490000
OPCODE 2A,ADR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00500000
OPCODE 2B,SDR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00510000
OPCODE 2C,MDR,$OPRR1,MASK=0099 GP10018 00520000
OPCODE 2D,DDR,$OPRR1,MASK=0099 GP10018 00530000
OPCODE 2E,AWR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00540000
OPCODE 2F,SWR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00550000
OPCODE 30,LPER,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00560000
OPCODE 31,LNER,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00570000
OPCODE 32,LTER,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00580000
OPCODE 33,LCER,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00590000
OPCODE 34,HER,$OPRR1,MASK=0099 GP10018 00600000
OPCODE 35,LRER,$OPRR1,MASK=0099 GP10018 00610000
OPCODE 36,AXR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00620000
OPCODE 37,SXR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00630000
OPCODE 38,LER,$OPRR1,MASK=0099 GP10018 00640000
OPCODE 39,CER,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00650000
OPCODE 3A,AER,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00660000
OPCODE 3B,SER,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00670000
OPCODE 3C,MER,$OPRR1,MASK=0099 GP10018 00680000
OPCODE 3D,DER,$OPRR1,MASK=0099 GP10018 00690000
OPCODE 3E,AUR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00700000
OPCODE 3F,SUR,$OPRR1,FLAGS=$OPCCA,MASK=0099 GP10018 00710000
OPCODE 40,STH,$OPRX,FLAGS=$OPREF 00720000
OPCODE 41,LA,$OPRX,FLAGS=$OPREF 00730000
OPCODE 42,STC,$OPRX,FLAGS=$OPREF 00740000
OPCODE 43,IC,$OPRX,FLAGS=$OPREF 00750000
OPCODE 44,EX,$OPRX,FLAGS=$OPREF 00760000
OPCODE 45,BAL,$OPRX,'CALL',FLAGS=$OPREF 00770000
OPCODE 46,BCT,$OPRX,'LOOP',FLAGS=$OPREF 00780000
OPCODE 47,BC,$OPRX,FLAGS=$OPEXT+$OPREF 00790000
OPCODE 48,LH,$OPRX,FLAGS=$OPREF 00800000
OPCODE 49,CH,$OPRX,FLAGS=$OPREF+$OPCCC 00810000
OPCODE 4A,AH,$OPRX,FLAGS=$OPREF+$OPCCA 00820000
OPCODE 4B,SH,$OPRX,FLAGS=$OPREF+$OPCCA 00830000
OPCODE 4C,MH,$OPRX,FLAGS=$OPREF 00840000
OPCODE 4E,CVD,$OPRX,FLAGS=$OPREF 00850000
OPCODE 4F,CVB,$OPRX,FLAGS=$OPREF 00860000
OPCODE 50,ST,$OPRX,FLAGS=$OPREF 00870000
OPCODE 54,N,$OPRX,FLAGS=$OPREF+$OPCCL 00880000
OPCODE 55,CL,$OPRX,FLAGS=$OPREF+$OPCCC 00890000
OPCODE 56,O,$OPRX,FLAGS=$OPREF+$OPCCL 00900000
OPCODE 57,X,$OPRX,FLAGS=$OPREF+$OPCCL 00910000
OPCODE 58,L,$OPRX,FLAGS=$OPREF 00920000
OPCODE 59,C,$OPRX,FLAGS=$OPREF+$OPCCC 00930000
OPCODE 5A,A,$OPRX,FLAGS=$OPREF+$OPCCA 00940000
OPCODE 5B,S,$OPRX,FLAGS=$OPREF+$OPCCA 00950000
OPCODE 5C,M,$OPRX,FLAGS=$OPREF,MASK=00100000 GP10072 00960000
OPCODE 5D,D,$OPRX,FLAGS=$OPREF,MASK=00100000 GP10072 00970000
OPCODE 5E,AL,$OPRX,FLAGS=$OPREF+$OPCCA 00980000
OPCODE 5F,SL,$OPRX,FLAGS=$OPREF+$OPCCA 00990000
OPCODE 60,STD,$OPRX,FLAGS=$OPREF,MASK=00900000 GP10018 01000000
OPCODE 67,MXD,$OPRX,FLAGS=$OPREF,MASK=00900000 GP10018 01010000
OPCODE 68,LD,$OPRX,FLAGS=$OPREF,MASK=00900000 GP10018 01020000
OPCODE 69,CD,$OPRX,FLAGS=$OPREF+$OPCCC,MASK=00900000 GP10018 01030000
OPCODE 6A,AD,$OPRX,FLAGS=$OPREF+$OPCCA,MASK=00900000 GP10018 01040000
OPCODE 6B,SD,$OPRX,FLAGS=$OPREF+$OPCCA,MASK=00900000 GP10018 01050000
OPCODE 6C,MD,$OPRX,FLAGS=$OPREF,MASK=00900000 GP10018 01060000
OPCODE 6D,DD,$OPRX,FLAGS=$OPREF,MASK=00900000 GP10018 01070000
OPCODE 6E,AW,$OPRX,FLAGS=$OPREF,MASK=00900000 GP10018 01080000
OPCODE 6F,SW,$OPRX,FLAGS=$OPREF+$OPCCA,MASK=00900000 GP10018 01090000
OPCODE 70,STE,$OPRX,FLAGS=$OPREF,MASK=00900000 GP10018 01100000
OPCODE 78,LE,$OPRX,FLAGS=$OPREF,MASK=00900000 GP10018 01110000
OPCODE 79,CE,$OPRX,FLAGS=$OPREF+$OPCCC,MASK=00900000 GP10018 01120000
OPCODE 7A,AE,$OPRX,FLAGS=$OPREF+$OPCCA,MASK=00900000 GP10018 01130000
OPCODE 7B,SE,$OPRX,FLAGS=$OPREF+$OPCCA,MASK=00900000 GP10018 01140000
OPCODE 7C,ME,$OPRX,FLAGS=$OPREF,MASK=00900000 GP10018 01150000
OPCODE 7D,DE,$OPRX,FLAGS=$OPREF,MASK=00900000 GP10018 01160000
OPCODE 7E,AU,$OPRX,FLAGS=$OPREF+$OPCCA,MASK=00900000 GP10018 01170000
OPCODE 7F,SU,$OPRX,FLAGS=$OPREF+$OPCCA,MASK=00900000 GP10018 01180000
* TOO MANY FALSE POSITIVES FOR LIST ENTRIES 01190000
* OPCODE 80,SSM,$OPS,FLAGS=$OPREF,MASK=00FF0000 GP10018 01200000
OPCODE 82,LPSW,$OPS,FLAGS=$OPREF,MASK=00FF0000 GP10018 01210000
OPCODE 83,DIAG,$OPRSI 01220000
*36S* OPCODE 84,WRD,$OPSI GP10018 01230000
*36S* OPCODE 85,RDD,$OPSI GP10018 01240000
OPCODE 86,BXH,$OPRS2,FLAGS=$OPREF 01250000
OPCODE 87,BXLE,$OPRS2,FLAGS=$OPREF 01260000
OPCODE 88,SRL,$OPRS1,MASK=000F0000 GP10018 01270000
OPCODE 89,SLL,$OPRS1,MASK=000F0000 GP10018 01280000
OPCODE 8A,SRA,$OPRS1,FLAGS=$OPCCA,MASK=000F0000 GP10018 01290000
OPCODE 8B,SLA,$OPRS1,FLAGS=$OPCCA,MASK=000F0000 GP10018 01300000
OPCODE 8C,SRDL,$OPRS1,MASK=000F0000 GP10018 01310000
OPCODE 8D,SLDL,$OPRS1,MASK=000F0000 GP10018 01320000
OPCODE 8E,SRDA,$OPRS1,FLAGS=$OPCCA,MASK=000F0000 GP10018 01330000
OPCODE 8F,SLDA,$OPRS1,FLAGS=$OPCCA,MASK=000F0000 GP10018 01340000
OPCODE 90,STM,$OPRS2,FLAGS=$OPREF 01350000
OPCODE 91,TM,$OPSI,FLAGS=$OPREF+$OPCCL 01360000
OPCODE 92,MVI,$OPSI,FLAGS=$OPREF 01370000
OPCODE 93,TS,$OPS,FLAGS=$OPREF+$OPCCA,MASK=00FF0000 GP10018 01380000
OPCODE 94,NI,$OPSI,FLAGS=$OPREF+$OPCCL 01390000
OPCODE 95,CLI,$OPSI,FLAGS=$OPREF+$OPCCC 01400000
OPCODE 96,OI,$OPSI,FLAGS=$OPREF+$OPCCL 01410000
OPCODE 97,XI,$OPSI,FLAGS=$OPREF+$OPCCL 01420000
OPCODE 98,LM,$OPRS2,FLAGS=$OPREF 01430000
*36S* OPCODE 9C,SIO,$OPRS1,FLAGS=$OPREF+$OPCCL,MASK=00FF0000 GP10018 01440000
*36S* OPCODE 9D,TIO,$OPRS1,FLAGS=$OPREF+$OPCCL,MASK=00FF0000 GP10018 01450000
*36S* OPCODE 9E,HIO,$OPRS1,FLAGS=$OPREF+$OPCCL,MASK=00FF0000 GP10018 01460000
*36S* OPCODE 9F,TCH,$OPRS1,FLAGS=$OPREF+$OPCCL,MASK=00FF0000 GP10018 01470000
OPCODE D1,MVN,$OPSS1,FLAGS=$OPREF 01480000
OPCODE D2,MVC,$OPSS1,FLAGS=$OPREF 01490000
OPCODE D3,MVZ,$OPSS1,FLAGS=$OPREF 01500000
OPCODE D4,NC,$OPSS1,FLAGS=$OPREF+$OPCCL 01510000
OPCODE D5,CLC,$OPSS1,FLAGS=$OPREF+$OPCCC 01520000
OPCODE D6,OC,$OPSS1,FLAGS=$OPREF+$OPCCL 01530000
OPCODE D7,XC,$OPSS1,FLAGS=$OPREF+$OPCCL 01540000
OPCODE DC,TR,$OPSS1,FLAGS=$OPREF 01550000
OPCODE DD,TRT,$OPSS1,FLAGS=$OPREF+$OPCCA 01560000
OPCODE DE,ED,$OPSS1,FLAGS=$OPREF+$OPCCA 01570000
OPCODE DF,EDMK,$OPSS1,FLAGS=$OPREF+$OPCCA GP09181 01580000
OPCODE F1,MVO,$OPSS2,FLAGS=$OPREF 01590000
OPCODE F2,PACK,$OPSS2,FLAGS=$OPREF 01600000
OPCODE F3,UNPK,$OPSS2,FLAGS=$OPREF 01610000
OPCODE F8,ZAP,$OPSS2,FLAGS=$OPREF+$OPCCA 01620000
OPCODE F9,CP,$OPSS2,FLAGS=$OPREF+$OPCCC 01630000
OPCODE FA,AP,$OPSS2,FLAGS=$OPREF+$OPCCA 01640000
OPCODE FB,SP,$OPSS2,FLAGS=$OPREF+$OPCCA 01650000
OPCODE FC,MP,$OPSS2,FLAGS=$OPREF 01660000
OPCODE FD,DP,$OPSS2,FLAGS=$OPREF 01670000
* ------------------------------------------------------------------- * 01680000
* * 01690000
* INDEX TO OPCODE TABLE * 01700000
* * 01710000
* ------------------------------------------------------------------- * 01720000
ORG DISOP360+0 01730000
OPINDEX DS 0A 01740000
OPCODE TYPE=INDEX 01750000
COPY DISASMDA 01760000
*---------------------------------------------------------------------* 01770000
* * 01780000
* COMMON DATA MAP * 01790000
* * 01800000
*---------------------------------------------------------------------* 01810000
DISASM00 DISASMCM TYPE=DSECT GP99137 01820000
END DISOP360 01830000