[Cross-posted on ibm-main]
[This is in two parts because of restrictions on posting
size for the assembler list.]
Based on some earlier posts on the mainframe assembler list,
I have been researching the semiprivileged instructions to
see which ones might be useful for application programs
(programs written to accomplish corporate work: problem state,
only standard interfaces and APIs used).
The PoPs says, on page 5-24 in the PDF version (dz9zr008.pdf /
SA22-7832-08), "there are 23 semiprivilged instructions".
There is a table, Figure 5-6 on pp. 5-28/5-29, that purportedly
includes all the semiprivileged instructions along with some
other instructions that use authorization messages. If you stick
with the 23 semiprivilged instructions, you get these:
BAKR - Branch and Stack
BSA - Branch and Set Authority
EPAR - Extract Primary ASN
EPAIR - Extract Primary ASN and Instance
ESAR - Extract Secondary ASN
ESAIR - Extract Secondary ASN and Instance
IAC - Insert Address space Control
IPK - Insert PSW Key
IVSK - Insert Virtual Storage Key
MVCDK - Move Characters with Destination Key
MVCK - Move Characters with Key (not shown in Figure 5-6 on pp. 5-28/5-29)
MVCOS - Move Characters with Optional Specifications
MVCP - Move Characters to Primary
MVCS - Move Characters to Secondary
MVCSK - Move Characters with Source Key
PC - Program Control
PR - Program Return
PT - Program Transfer
PTI - Program Transfer with Instance
RP - Resume Program
SAC - Set Address space Control
SACF - Set Address space Control Fast
SPKA - Set PSW Key from Address
Some other interesting instructions in this table:
BSG - Branch in Subspace Group
EREG - Extract stacked REGisters (32 bits)
EREGG - Extract stacked REGisters Grande (64-bits)
ESTA - Extract stacked STAte
LPTEA - Load Page Table Entry Address
MSTA - Modify stacked STAte
SSAR - Set Secondary ASN
SSAIR - Set Secondary ASN with Instance
STRAG - Store Real Address p
TAR - Test Access p
TPROT - Test PROTection p
('interesting' in the sense they are not
semiprivileged and the first eight are
not privileged either, but they are
described in the chapter on Control
Instructions: so are they 'general'
instructions? I think not, but it's hard
to say.)
My focus: are these first eight instructions useful
for applications programmers?
--
Kind regards,
-Steve Comstock
The Trainer's Friend, Inc.
303-355-2752
http://www.trainersfriend.com
* To get a good Return on your Investment, first make an investment!
+ Training your people is an excellent investment
* Try our tool for calculating your Return On Investment
for training dollars at
http://www.trainersfriend.com/ROI/roi.html