1 # S/390 opcodes list. Use s390-mkopc to convert it into the opcode table.
2 # Copyright 2000, 2001 Free Software Foundation, Inc.
3 # Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
5 6a ad RX_D "add normalized (long)" esa
6 2a adr RR_D "add normalized (long)" esa
7 7a ae RX_E "add normalized (short)" esa
8 3a aer RR_E "add normalized (short)" esa
9 4a ah RX "add halfword" esa
10 5e al RX "add logical" esa
11 1e alr RR "add logical" esa
12 fa ap SS_LL "add decimal" esa
14 7e au RX_E "add unnormalized (short)" esa
15 3e aur RR_E "add unnormalized (short)" esa
16 6e aw RX_D "add unnormalized (long)" esa
17 2e awr RR_D "add unnormalized (long)" esa
18 36 axr RR "add normalized" esa
19 b240 bakr RRE "branch and stack" esa
20 45 bal RX "branch and link" esa
21 05 balr RR "branch and link" esa
22 4d bas RX "branch and save" esa
23 0d basr RR "branch and save" esa
24 0c bassm RR "branch and save and set mode" esa
25 47 bc RX_M "branch on condition" esa
26 07 bcr RR_M "branch on condition" esa
27 46 bct RX "branch on count" esa
28 06 bctr RR "branch on count" esa
29 b258 bsg RRE "branch in subspace group" esa
30 0b bsm RR "branch and set mode" esa
31 86 bxh RS "branch on index high" esa
32 87 bxle RS "branch on index low or equal" esa
34 69 cd RX_D "compare (long)" esa
35 29 cdr RR_D "compare (long)" esa
36 bb cds RS "compare double and swap" esa
37 79 ce RX_E "compare (short)" esa
38 39 cer RR_E "compare (short)" esa
39 b21a cfc S "compare and form codeword" esa
40 49 ch RX "compare halfword" esa
41 55 cl RX "compare logical" esa
42 d5 clc SS_L "compare logical" esa
43 0f clcl RR "compare logical long" esa
44 95 cli SI "compare logical" esa
45 bd clm RS_M "compare logical characters under mask" esa
46 15 clr RR "compare logical" esa
47 b25d clst RRE "compare logical string" esa
48 b263 cmpsc RRE "compression call" esa
49 f9 cp SS_LL "compare decimal" esa
50 b24d cpya RRE_A "copy access" esa
51 19 cr RR "compare" esa
52 ba cs RS "compare and swap" esa
53 b230 csch S_O "clear subchannel" esa
54 b257 cuse RRE "compare until substring equal" esa
55 b250 csp RRE "compare and swap and purge" esa
56 4f cvb RX "convert to binary" esa
57 4e cvd RX "convert to decimal" esa
59 6d dd RX_D "divide (long)" esa
60 2d ddr RR_D "divide (long)" esa
61 7d de RX_E "divide (short)" esa
62 3d der RR_E "divide (short)" esa
63 83 diag RS "diagnose" esa
64 fd dp SS_LL "divide decimal" esa
66 b22d dxr RRE_X "divide (ext.)" esa
67 b24f ear RRE_RA "extract access" esa
69 df edmk SS_L "edit and mark" esa
70 b226 epar RRE_R "extract primary ASN" esa
71 b249 ereg RRE "extract stacked registers" esa
72 b227 esar RRE_R "extract secondary ASN" esa
73 b24a esta RRE "extract stacked state" esa
74 44 ex RX "execute" esa
75 24 hdr RR_D "halve (long)" esa
76 34 her RR_E "halve (short)" esa
77 b231 hsch S_O "halt subchannel" esa
78 b224 iac RRE_R "insert address space control" esa
79 43 ic RX "insert character" esa
80 bf icm RS_M "insert characters under mask" esa
81 b20b ipk S_O "insert PSW key" esa
82 b222 ipm RRE_R "insert program mask" esa
83 b221 ipte RRE "invalidate page table entry" esa
84 b229 iske RRE "insert storage key extended" esa
85 b223 ivsk RRE "insert virtual storage key" esa
87 41 la RX "load address" esa
88 51 lae RX "load address extended" esa
89 9a lam RS_A "load access multiple" esa
90 e500 lasp SSE "load address space parameters" esa
91 23 lcdr RR_D "load complement (long)" esa
92 33 lcer RR_E "load complement (short)" esa
93 13 lcr RR "load complement" esa
94 b7 lctl RS_C "load control" esa
95 68 ld RX_D "load (long)" esa
96 28 ldr RR_D "load (long)" esa
97 78 le RX_E "load (short)" esa
98 38 ler RR_E "load (short)" esa
99 48 lh RX "load halfword" esa
100 98 lm RS "load multiple" esa
101 21 lndr RR_D "load negative (long)" esa
102 31 lner RR_E "load negative (short)" esa
103 11 lnr RR "load negative" esa
104 20 lpdr RR_D "load positive (long)" esa
105 30 lper RR_E "load positive (short)" esa
106 10 lpr RR "load positive" esa
107 82 lpsw S "load PSW" esa
109 b1 lra RX "load real address" esa
110 25 lrdr RR_XD "load rounded (ext. to long)" esa
111 35 lrer RR_DE "load rounded (long to short)" esa
112 22 ltdr RR_D "load and test (long)" esa
113 32 lter RR_E "load and test (short)" esa
114 12 ltr RR "load and test" esa
115 b24b lura RRE "load using real address" esa
116 5c m RX "multiply" esa
117 af mc SI "monitor call" esa
118 6c md RX_D "multiply (long)" esa
119 2c mdr RR_D "multiply (long)" esa
120 7c me RX_ED "multiply (short to long)" esa
121 3c mer RR_ED "multiply (short to long)" esa
122 4c mh RX "multiply halfword" esa
123 fc mp SS_LL "multiply decimal" esa
124 1c mr RR "multiply" esa
125 b232 msch S "modify subchannel" esa
126 b247 msta RRE_R "modify stacked state" esa
127 d2 mvc SS_L "move" esa
128 e50f mvcdk SSE "move with destination key" esa
129 e8 mvcin SS_L "move inverse" esa
130 d9 mvck SS_RR "move with key" esa
131 0e mvcl RR "move long" esa
132 da mvcp SS_RR "move to primary" esa
133 db mvcs SS_RR "move to secondary" esa
134 e50e mvcsk SSE "move with source key" esa
136 d1 mvn SS_L "move numerics" esa
137 f1 mvo SS_LL "move with offset" esa
138 b254 mvpg RRE "move page" esa
139 b255 mvst RRE "move string" esa
140 d3 mvz SS_L "move zones" esa
141 67 mxd RX_DX "multiply (long to ext.)" esa
142 27 mxdr RR_DX "multiply (long to ext.)" esa
143 26 mxr RR_X "multiply (ext.)" esa
152 f2 pack SS_LL "pack" esa
153 b248 palb RRE_O "purge ALB" esa
154 b218 pc S "program call" esa
155 0101 pr E "program return" esa
156 b228 pt RRE "program transfer" esa
157 b20d ptlb S_O "purge TLB" esa
158 b23b rchp S_O "reset channel path" esa
159 b22a rrbe RRE "reset reference bit extended" esa
160 b238 rsch S_O "resume subchannel" esa
161 5b s RX "subtract" esa
162 b219 sac S "set address space control" esa
163 b279 sacf S "set address space control fast" esa
164 b237 sal S_O "set address limit" esa
165 b24e sar RRE_AR "set access" esa
166 b23c schm S_O "set channel monitor" esa
167 b204 sck S "set clock" esa
168 b206 sckc S "set clock comparator" esa
169 6b sd RX_D "subtract normalized (long)" esa
170 2b sdr RR_D "subtract normalized (long)" esa
171 7b se RX_E "subtract normalized (short)" esa
172 3b ser RR_E "subtract normalized (short)" esa
173 4b sh RX "subtract halfword" esa
174 b214 sie S "start interpretive execution" esa
175 ae sigp RS "signal processor" esa
176 5f sl RX "subtract logical" esa
177 8b sla RS_S "shift left single" esa
178 8f slda RS_D "shift left double (long)" esa
179 8d sldl RS_D "shift left double logical (long)" esa
180 89 sll RS_S "shift left single logical" esa
181 1f slr RR "subtract logical" esa
182 fb sp SS_LL "subtract decimal" esa
183 b20a spka S "set PSW key from address" esa
184 04 spm RR_R "set program mask" esa
185 b208 spt S "set CPU timer" esa
186 b210 spx S "set prefix" esa
187 b244 sqdr RRE_D "square root (long)" esa
188 b245 sqer RRE_E "square root (short)" esa
189 1b sr RR "subtract" esa
190 8a sra RS_S "shift right single" esa
191 8e srda RS_D "shift right double (long)" esa
192 8c srdl RS_D "shift right double logical (long)" esa
193 88 srl RS_S "shift right single logical" esa
194 f0 srp SS_LI "shift and round decimal" esa
195 b25e srst RRE "search string" esa
196 b225 ssar RRE_R "set secondary ASN" esa
197 b233 ssch S "start subchannel" esa
198 b22b sske RRE "set storage key extended" esa
199 80 ssm S "set system mask" esa
201 9b stam RS_A "store access multiple" esa
202 b212 stap S "store CPU address" esa
203 42 stc RX "store character" esa
204 b205 stck S "store clock" esa
205 b207 stckc S "store clock comparator" esa
206 be stcm RS_M "store characters under mask" esa
207 b23a stcps S "store channel path status" esa
208 b239 stcrw S "store channel report word" esa
209 b6 stctl RS_C "store control" esa
210 60 std RX_D "store (long)" esa
211 70 ste RX_E "store (short)" esa
212 40 sth RX "store halfword" esa
213 b202 stidp S "store CPU id" esa
214 90 stm RS "store multiple" esa
215 ac stnsm SI "store then AND system mask" esa
216 ad stosm SI "store then OR system mask" esa
217 b209 stpt S "store CPU timer" esa
218 b211 stpx S "store prefix" esa
219 b234 stsch S "store subchannel" esa
220 b246 stura RRE "store using real address" esa
221 7f su RX_E "subtract unnormalized (short)" esa
222 3f sur RR_E "subtract unnormalized (short)" esa
223 0a svc RR_I "supervisor call" esa
224 6f sw RX_D "subtract unnormalized (long)" esa
225 2f swr RR_D "subtract unnormalized (long)" esa
226 37 sxr RR_X "subtract normalized (ext.)" esa
227 b24c tar RRE_AR "test access" esa
228 b22c tb RRE_R2 "test block" esa
229 91 tm SI "test under mask" esa
230 b236 tpi S "test pending interruption" esa
231 e501 tprot SSE "test protection" esa
232 dc tr SS_L "translate" esa
233 99 trace RS "trace" esa
234 dd trt SS_L "translate and test" esa
235 93 ts S "test and set" esa
236 b235 tsch S "test subchannel" esa
237 f3 unpk SS_LL "unpack" esa
238 0102 upt E "update tree" esa
239 57 x RX "exclusive OR" esa
240 d7 xc SS_L "exclusive OR" esa
241 97 xi SI "exclusive OR" esa
242 17 xr RR "exclusive OR" esa
243 f8 zap SS_LL "zero and add" esa
244 a70a ahi RI "add halfword immediate" esa
245 84 brxh RSI_A "branch relative on index high" esa
246 85 brxle RSI_A "branch relative on index low or equal" esa
247 a705 bras RI_A "branch relative and save" esa
248 a704 brc RI_MA "branch relative on condition" esa
249 a706 brct RI_A "branch relative on count" esa
250 b241 cksm RRE "checksum" esa
251 a70e chi RI "compare halfword immediate" esa
252 a9 clcle RS "compare logical long extended" esa
253 a708 lhi RI "load halfword immediate" esa
254 a8 mvcle RS "move long extended" esa
255 a70c mhi RI "multiply halfword immediate" esa
256 b252 msr RRE "multiply single" esa
257 71 ms RX "multiply single" esa
258 a700 tmh RI_U "test under mask high" esa
259 a701 tml RI_U "test under mask low" esa
260 0700 nopr RR_B "no operation" esa
261 0710 bor RR_B "branch on overflow / if ones" esa
262 0720 bhr RR_B "branch on high" esa
263 0720 bpr RR_B "branch on plus" esa
264 0730 bnler RR_B "branch on not low or equal" esa
265 0740 blr RR_B "branch on low" esa
266 0740 bmr RR_B "branch on minus / if mixed" esa
267 0750 bnher RR_B "branch on not high or equal" esa
268 0770 bner RR_B "branch on not equal" esa
269 0770 bnzr RR_B "branch on not zero / if not zeros" esa
270 0780 ber RR_B "branch on equal" esa
271 0780 bzr RR_B "branch on zero / if zeros" esa
272 07a0 bher RR_B "branch on high or equal" esa
273 07b0 bnlr RR_B "branch on not low" esa
274 07b0 bnmr RR_B "branch on not minus / if not mixed" esa
275 07c0 bler RR_B "brach on low or equal" esa
276 07d0 bnhr RR_B "branch on not high" esa
277 07d0 bnpr RR_B "branch on not plus" esa
278 07e0 bnor RR_B "branch on not overflow / if not ones" esa
279 07f0 br RR_B "unconditional branch" esa
280 4700 nop RX_B "no operation" esa
281 4710 bo RX_B "branch on overflow / if ones" esa
282 4720 bh RX_B "branch on high" esa
283 4720 bp RX_B "branch on plus" esa
284 4730 bnle RX_B "branch on not low or equal" esa
285 4740 bl RX_B "branch on low" esa
286 4740 bm RX_B "branch on minus / if mixed" esa
287 4750 bnhe RX_B "branch on not high or equal" esa
288 4770 bne RX_B "branch on not equal" esa
289 4770 bnz RX_B "branch on not zero / if not zeros" esa
290 4780 be RX_B "branch on equal" esa
291 4780 bz RX_B "branch on zero / if zeros" esa
292 47a0 bhe RX_B "branch on high or equal" esa
293 47b0 bnl RX_B "branch on not low" esa
294 47b0 bnm RX_B "branch on not minus / if not mixed" esa
295 47c0 ble RX_B "branch on low or equal" esa
296 47d0 bnh RX_B "branch on not high" esa
297 47d0 bnp RX_B "branch on not plus" esa
298 47e0 bno RX_B "branch on not overflow / if not ones" esa
299 47f0 b RX_B "unconditional branch" esa
300 a714 jo RI_B "jump on overflow / if ones" esa
301 a724 jh RI_B "jump on A high" esa
302 a724 jp RI_B "jump on plus" esa
303 a734 jnle RI_B "jump on not low or equal" esa
304 a744 jl RI_B "jump on A low" esa
305 a744 jm RI_B "jump on minus / if mixed" esa
306 a754 jnhe RI_B "jump on not high or equal" esa
307 a774 jne RI_B "jump on A not equal B" esa
308 a774 jnz RI_B "jump on not zero / if not zeros" esa
309 a784 je RI_B "jump on A equal B" esa
310 a784 jz RI_B "jump on zero / if zeros" esa
311 a7a4 jhe RI_B "jump on high or equal" esa
312 a7b4 jnl RI_B "jump on A not low" esa
313 a7b4 jnm RI_B "jump on not minus / if not mixed" esa
314 a7c4 jle RI_B "jump on low or equal" esa
315 a7d4 jnh RI_B "jump on A not high" esa
316 a7d4 jnp RI_B "jump on not plus" esa
317 a7e4 jno RI_B "jump on not overflow / if not ones" esa
318 a7f4 j RI_B "jump" esa
319 b34a axbr RRE_F "add extended bfp" esa
320 b31a adbr RRE_F "add long bfp" esa
321 ed000000001a adb RXE_F "add long bfp" esa
322 b30a aebr RRE_F "add short bfp" esa
323 ed000000000a aeb RXE_F "add short bfp" esa
324 b349 cxbr RRE_F "compare extended bfp" esa
325 b319 cdbr RRE_F "compare long bfp" esa
326 ed0000000019 cdb RXE_F "compare long bfp" esa
327 b309 cebr RRE_F "compare short bfp" esa
328 ed0000000009 ceb RXE_F "compare short bfp" esa
329 b348 kxbr RRE_F "compare and signal extended bfp" esa
330 b318 kdbr RRE_F "compare and signal long bfp" esa
331 ed0000000018 kdb RXE_F "compare and signal long bfp" esa
332 b308 kebr RRE_F "compare and signal short bfp" esa
333 ed0000000008 keb RXE_F "compare and signal short bfp" esa
334 b396 cxfbr RRE_F "convert from fixed 32 to extended bfp" esa
335 b395 cdfbr RRE_F "convert from fixed 32 to long bfp" esa
336 b394 cefbr RRE_F "convert from fixed 32 to short bfp" esa
337 b39a cfxbr RRF_M "convert to fixed extended bfp to 32" esa
338 b399 cfdbr RRF_M "convert to fixed long bfp to 32" esa
339 b398 cfebr RRF_M "convert to fixed short bfp to 32" esa
340 b34d dxbr RRE_F "divide extended bfp" esa
341 b31d ddbr RRE_F "divide long bfp" esa
342 ed000000001d ddb RXE_F "divide long bfp" esa
343 b30d debr RRE_F "divide short bfp" esa
344 ed000000000d deb RXE_F "divide short bfp" esa
345 b35b didbr RRF_RM "divide to integer long bfp" esa
346 b353 diebr RRF_RM "divide to integer short bfp" esa
347 b38c efpc RRE "extract fpc" esa
348 b342 ltxbr RRE_F "load and test extended bfp" esa
349 b312 ltdbr RRE_F "load and test long bfp" esa
350 b302 ltebr RRE_F "load and test short bfp" esa
351 b343 lcxbr RRE_F "load complement extended bfp" esa
352 b313 lcdbr RRE_F "load complement long bfp" esa
353 b303 lcebr RRE_F "load complement short bfp" esa
354 b347 fixbr RRF_M "load fp integer extended bfp" esa
355 b35f fidbr RRF_M "load fp integer long bfp" esa
356 b357 fiebr RRF_M "load fp integer short bfp" esa
357 b29d lfpc S "load fpc" esa
358 b305 lxdbr RRE_F "load lengthened long to extended bfp" esa
359 ed0000000005 lxdb RXE_F "load lengthened long to extended bfp" esa
360 b306 lxebr RRE_F "load lengthened short to extended bfp" esa
361 ed0000000006 lxeb RXE_F "load lengthened short to extended bfp" esa
362 b304 ldebr RRE_F "load lengthened short to long bfp" esa
363 ed0000000004 ldeb RXE_F "load lengthened short to long bfp" esa
364 b341 lnxbr RRE_F "load negative extended bfp" esa
365 b311 lndbr RRE_F "load negative long bfp" esa
366 b301 lnebr RRE_F "load negative short bfp" esa
367 b340 lpxbr RRE_F "load positive extended bfp" esa
368 b310 lpdbr RRE_F "load positive long bfp" esa
369 b300 lpebr RRE_F "load positive short bfp" esa
370 b345 ldxbr RRE_F "load rounded extended to long bfp" esa
371 b346 lexbr RRE_F "load rounded extended to short bfp" esa
372 b344 ledbr RRE_F "load rounded long to short bfp" esa
373 b34c mxbr RRE_F "multiply extended bfp" esa
374 b31c mdbr RRE_F "multiply long bfp" esa
375 ed000000001c mdb RXE_F "multiply long bfp" esa
376 b307 mxdbr RRE_F "multiply long to extended bfp" esa
377 ed0000000007 mxdb RXE_F "multiply long to extended bfp" esa
378 b317 meebr RRE_F "multiply short bfp" esa
379 ed0000000017 meeb RXE_F "multiply short bfp" esa
380 b30c mdebr RRE_F "multiply short to long bfp" esa
381 ed000000000c mdeb RXE_F "multiply short to long bfp" esa
382 b31e madbr RRF_R "multiply and add long bfp" esa
383 ed000000001e madb RXF "multiply and add long bfp" esa
384 b30e maebr RRF_R "multiply and add short bfp" esa
385 ed000000000e maeb RXF "multiply and add short bfp" esa
386 b31f msdbr RRF_R "multiply and subtract long bfp" esa
387 ed000000001f msdb RXF "multiply and subtract long bfp" esa
388 b30f msebr RRF_R "multiply and subtract short bfp" esa
389 ed000000000f mseb RXF "multiply and subtract short bfp" esa
390 b384 sfpc RRE "set fpc" esa
391 b299 srnm S "set rounding mode" esa
392 b316 sqxbr RRE_F "square root extended bfp" esa
393 b315 sqdbr RRE_F "square root long bfp" esa
394 ed0000000015 sqdb RXE_F "square root long bfp" esa
395 b314 sqebr RRE_F "square root short bfp" esa
396 ed0000000014 sqeb RXE_F "square root short bfp" esa
397 b29c stfpc S "store fpc" esa
398 b34b sxbr RRE_F "subtract extended bfp" esa
399 b31b sdbr RRE_F "subtract long bfp" esa
400 ed000000001b sdb RXE_F "subtract long bfp" esa
401 b30b sebr RRE_F "subtract short bfp" esa
402 ed000000000b seb RXE_F "subtract short bfp" esa
403 ed0000000012 tcxb RXE_F "test data class extended bfp" esa
404 ed0000000011 tcdb RXE_F "test data class long bfp" esa
405 ed0000000010 tceb RXE_F "test data class short bfp" esa
406 b274 siga S "signal adapter" esa
407 # are the following instructions confidential ??
408 b2a6 cuutf RRE "convert unicode to utf-8" esa
409 b2a7 cutfu RRE "convert utf-8 to unicode" esa
410 ee plo SS_PLO "perform locked operation" esa
411 b25a bsa RRE "branch and set authority" esa
412 b277 rp S "resume program" esa
413 0107 sckpf E "set clock programmable field" esa
414 b27d stsi S "store system information" esa
415 01ff trap2 E "trap" esa
416 b2ff trap4 S "trap4" esa
417 # Here are the new esame instructions:
418 b946 bctgr RRE "branch on count 64" esame
419 b900 lpgr RRE "load positive 64" esame
420 b910 lpgfr RRE "load positive 64<32" esame
421 b901 lngr RRE "load negative 64" esame
422 b911 lngfr RRE "load negative 64<32" esame
423 b902 ltgr RRE "load and test 64" esame
424 b912 ltgfr RRE "load and test 64<32" esame
425 b903 lcgr RRE "load complement 64" esame
426 b913 lcgfr RRE "load complement 64<32" esame
427 b980 ngr RRE "and 64" esame
428 b921 clgr RRE "compare logical 64" esame
429 b931 clgfr RRE "compare logical 64<32" esame
430 b981 ogr RRE "or 64" esame
431 b982 xgr RRE "exclusive or 64" esame
432 b904 lgr RRE "load 64" esame
433 b914 lgfr RRE "load 64<32" esame
434 b920 cgr RRE "compare 64" esame
435 b930 cgfr RRE "compare 64<32" esame
436 b908 agr RRE "add 64" esame
437 b918 agfr RRE "add 64<32" esame
438 b909 sgr RRE "subtract 64" esame
439 b919 sgfr RRE "subtract 64<32" esame
440 b90a algr RRE "add logical 64" esame
441 b91a algfr RRE "add logical 64<32" esame
442 b90b slgr RRE "subtract logical 64" esame
443 b91b slgfr RRE "subtract logical 64<32" esame
444 e30000000046 bctg RXE "branch on count 64" esame
445 e3000000002e cvdg RXE "convert to decimal 64" esame
446 e3000000000e cvbg RXE "convert to binary 64" esame
447 e30000000024 stg RXE "store 64" esame
448 e30000000080 ng RXE "and 64" esame
449 e30000000021 clg RXE "compare logical 64" esame
450 e30000000031 clgf RXE "comparee logical 64<32" esame
451 e30000000081 og RXE "or 64" esame
452 e30000000082 xg RXE "exclusive or 64" esame
453 e30000000004 lg RXE "load 64" esame
454 e30000000014 lgf RXE "load 64<32" esame
455 e30000000020 cg RXE "compare 64" esame
456 e30000000030 cgf RXE "compare 64<32" esame
457 e30000000008 ag RXE "add 64" esame
458 e30000000018 agf RXE "add 64<32" esame
459 e30000000009 sg RXE "subtract 64" esame
460 e30000000019 sgf RXE "subtract 64<32" esame
461 e3000000000a alg RXE "add logical 64" esame
462 e3000000001a algf RXE "add logical 64<32" esame
463 e3000000000b slg RXE "subtract logical 64" esame
464 e3000000001b slgf RXE "subtract logical 64<32" esame
465 e3000000000c msg RXE "multiply single 64" esame
466 e3000000001c msgf RXE "multiply single 64<32" esame
467 ec0000000044 brxhg RIE_A "branch relative on index high 64" esame
468 ec0000000045 brxlg RIE_A "branch relative on index low or equal 64" esame
469 eb0000000044 bxhg RSE_R "branch on index high 64" esame
470 eb0000000045 bxleg RSE_R "branch on index low or equal 64" esame
471 eb000000000c srlg RSE_R "shift right single logical 64" esame
472 eb000000000d sllg RSE_R "shift left single logical 64" esame
473 eb000000000a srag RSE_R "shift right single 64" esame
474 eb000000000b slag RSE_R "shift left single 64" esame
475 eb0000000024 stmg RSE_R "store multiple 64" esame
476 eb0000000026 stmh RSE_R "store multiple high" esame
477 eb0000000004 lmg RSE_R "load multiple 64" esame
478 eb0000000096 lmh RSE_R "load multiple high" esame
479 ef lmd SS_LMD "load multiple disjoint" esame
480 eb000000000f tracg RSE_R "trace 64" esame
481 e30000000003 lrag RXE "load real address 64" esame
482 e50000000002 strag SSE "store read address" esame
483 eb0000000025 stctg RSE_R "store control 64" esame
484 eb000000002f lctlg RSE_R "load control 64" esame
485 eb0000000030 csg RSE_R "compare and swap 64" esame
486 eb000000003e cdsg RSE_R "compare double and swap 64" esame
487 eb0000000020 clmh RSE_M "compare logical characters under mask high" esame
488 eb000000002c stcmh RSE_M "store characters under mask high" esame
489 eb0000000080 icmh RSE_M "insert characters under mask high" esame
490 a700 tmlh RI_U "test under mask low high" esame
491 a702 tmhh RI_U "test under mask high high" esame
492 a701 tmll RI_U "test under mask low low" esame
493 a703 tmhl RI_U "test under mask high low" esame
494 c004 brcl RIL_MA "branch relative on condition long" esame
495 c014 jgo RIL_B "jump long on overflow / if ones" esame
496 c024 jgh RIL_B "jump long on high" esame
497 c024 jgp RIL_B "jump long on plus" esame
498 c034 jgnle RIL_B "jump long on not low or equal" esame
499 c044 jgl RIL_B "jump long on low" esame
500 c044 jgm RIL_B "jump long on minus / if mixed" esame
501 c054 jgnhe RIL_B "jump long on not high or equal" esame
502 c074 jgne RIL_B "jump long on not equal" esame
503 c074 jgnz RIL_B "jump long on not zero / if not zeros" esame
504 c084 jge RIL_B "jump long on equal" esame
505 c084 jgz RIL_B "jump long on zero / if zeros" esame
506 c0a4 jghe RIL_B "jump long on high or equal" esame
507 c0b4 jgnl RIL_B "jump long on not low" esame
508 c0b4 jgnm RIL_B "jump long on not minus / if not mixed" esame
509 c0c4 jgle RIL_B "jump long on low or equal" esame
510 c0d4 jgnh RIL_B "jump long on not high" esame
511 c0d4 jgnp RIL_B "jump long on not plus" esame
512 c0e4 jgno RIL_B "jump long on not overflow / if not ones" esame
513 c0f4 jg RIL_B "jump long" esame
514 c005 brasl RIL_A "branch relative and save long" esame
515 a707 brctg RI_A "branch relative on count 64" esame
516 a709 lghi RI "load halfword immediate 64" esame
517 a70b aghi RI "add halfword immediate 64" esame
518 a70d mghi RI "multiply halfword immediate 64" esame
519 a70f cghi RI "compare halfword immediate 64" esame
520 b925 sturg RRE "store using real address 64" esame
521 b90e eregg RRE "extract stacked registers 64" esame
522 b905 lurag RRE "load using real address 64" esame
523 b90c msgr RRE "multiply single 64" esame
524 b91c msgfr RRE "multiply single 64<32" esame
525 b3a4 cegbr RRE "convert from fixed 64 to short bfp" esame
526 b3a5 cdgbr RRE "convert from fixed 64 to long bfp" esame
527 b3a6 cxgbr RRE "convert from fixed 64 to extended bfp" esame
528 b3a8 cgebr RRF_M "convert to fixed short bfd to 64" esame
529 b3a9 cgdbr RRF_M "convert to fixed long bfp to 64" esame
530 b3aa cgxbr RRF_M "convert to fixed extended bfp to 64" esame
531 b3c4 cegr RRE "convert from fixed 64 to short hfp" esame
532 b3c5 cdgr RRE "convert from fixed 64 to long hfp" esame
533 b3c6 cxgr RRE "convert from fixed 64 to extended hfp" esame
534 b3c8 cger RRF_F "convert to fixed short hfp to 64" esame
535 b3c9 cgdr RRF_F "convert to fixed long hfp to 64" esame
536 b3ca cgxr RRF_F "convert to fixed extended hfp to 64" esame
537 010b tam E "test addressing mode" esame
538 010c sam24 E "set addressing mode 24" esame
539 010d sam31 E "set addressing mode 31" esame
540 010e sam64 E "set addressing mode 64" esame
541 a500 iihh RI_U "insert immediate high high" esame
542 a501 iihl RI_U "insert immediate high low" esame
543 a502 iilh RI_U "insert immediate low high" esame
544 a503 iill RI_U "insert immediate low low" esame
545 a504 nihh RI_U "and immediate high high" esame
546 a505 nihl RI_U "and immediate high low" esame
547 a506 nilh RI_U "and immediate low high" esame
548 a507 nill RI_U "and immediate low low" esame
549 a508 oihh RI_U "or immediate high high" esame
550 a509 oihl RI_U "or immediate high low" esame
551 a50a oilh RI_U "or immediate low high" esame
552 a50b oill RI_U "or immediate low low" esame
553 a50c llihh RI_U "load logical immediate high high" esame
554 a50d llihl RI_U "load logical immediate high low" esame
555 a50e llilh RI_U "load logical immediate low high" esame
556 a50f llill RI_U "load logical immediate low low" esame
557 b2b1 stfl S "store facility list" esame
558 b2b2 lpswe S "load psw extended" esame
559 b90d dsgr RRE "divide single 64" esame
560 b90f lrvgr RRE "load reversed 64" esame
561 b916 llgfr RRE "load logical 64<32" esame
562 b917 llgtr RRE "load logical thirty one bits" esame
563 b91d dsgfr RRE "divide single 64<32" esame
564 b91f lrvr RRE "load reversed 32" esame
565 b986 mlgr RRE "multiply logical 64" esame
566 b987 dlgr RRE "divide logical 64" esame
567 b988 alcgr RRE "add logical with carry 64" esame
568 b989 slbgr RRE "subtract logical with borrow 64" esame
569 b98d epsw RRE "extract psw" esame
570 b996 mlr RRE "multiply logical 32" esame
571 b997 dlr RRE "divide logical 32" esame
572 b998 alcr RRE "add logical with carry 32" esame
573 b999 slbr RRE "subtract logical with borrow 32" esame
574 b99d esea RRE_R "extract and set extended authority" esame
575 c000 larl RIL_A "load address relative long" esame
576 e3000000000d dsg RXE "divide single 64" esame
577 e3000000000f lrvg RXE "load reversed 64" esame
578 e30000000016 llgf RXE "load logical 64<32" esame
579 e30000000017 llgt RXE "load logical thirty one bits" esame
580 e3000000001d dsgf RXE "divide single 64<32" esame
581 e3000000001e lrv RXE "load reversed 32" esame
582 e3000000001f lrvh RXE "load reversed 16" esame
583 e3000000002f strvg RXE "store reversed 64" esame
584 e3000000003e strv RXE "store reversed 32" esame
585 e3000000003f strvh RXE "store reversed 64" esame
586 e30000000086 mlg RXE "multiply logical 64" esame
587 e30000000087 dlg RXE "divide logical 64" esame
588 e30000000088 alcg RXE "add logical with carry 64" esame
589 e30000000089 slbg RXE "subtract logical with borrow 64" esame
590 e3000000008e stpq RXE "store pair to quadword" esame
591 e3000000008f lpq RXE "load pair from quadword" esame
592 e30000000096 ml RXE "multiply logical 32" esame
593 e30000000097 dl RXE "divide logical 32" esame
594 e30000000098 alc RXE "add logical with carry 32" esame
595 e30000000099 slb RXE "subtract logical with borrow 32" esame
596 e30000000090 llgc RXE "load logical character" esame
597 e30000000091 llgh RXE "load logical halfword" esame
598 eb000000001c rllg RSE_R "rotate left single logical 64" esame
599 eb000000001d rll RSE_R "rotate left single logical 32" esame
600 b278 stcke S "store clock extended" esame
601 b2a5 tre RRE "translate extended" esame
602 eb000000008e mvclu RSE_R "move long unicode" esame
603 e9 pka SS_L "pack ascii" esame
604 e1 pku SS_L "pack unicode" esame
605 b993 troo RRE "translate one to one" esame
606 b992 trot RRE "translate one to two" esame
607 b991 trto RRE "translate two to one" esame
608 b990 trtt RRE "translate two to two" esame
609 ea unpka SS_L "unpack ascii" esame
610 e2 unpku SS_L "unpack unicode" esame
611 b358 thder RRE "convert short bfp to long hfp" esame
612 b359 thdr RRE "convert long bfp to long hfp" esame
613 b350 tbedr RRF_M "convert long hfp to short bfp" esame
614 b351 tbdr RRF_M "convert long hfp to long bfp" esame
615 b374 lzer RRE_R "load short zero" esame
616 b375 lzdr RRE_R "load long zero" esame
617 b376 lzxr RRE_R "load extended zero" esame