Re: Re: Assembler Clarification

Rick Fochtman <[email protected]>
Newsgroups gmane.comp.emulators.turnkey-mvs
Message-ID <[email protected]>
--------------------------------------<snip>----------------------------
for z/OS, there is no "heap"-type stack, but yes, there is a "mainframe" 
form of a stack, called the save area trace. it is a noncontiguous 
doubly-linked (i.e., backwards and forwards) stack.
---------------------------------<unsnip>----------------------------------
Actually, it's more properly named a doubly-linked list.  :-) "SAVE AREA 
TRACE" is what dump processing calls it when it's printed out.

------------------------------------<snip>------------------------------------
there is no pc-style "heap" with program linkage and register saving, 
but iirc there are heaps used in some areas of z/OS (advanced stuff; PC 
/ PR instructions, etc).
----------------------------------<unsnip>----------------------------------
PC/PR linkages have been established since MVS/XA and use hardware 
stacks, but the old "traditional" S/360 types of linkages still work 
just fine. z/OS uses a variety of linkage conventions, including BALR, 
BAKR, BASSM and PC/PR, depending on the requirements. PC/PR are 
especially useful since they allow a Address Space Switch event. Much 
faster than SVC events for some supervisor services, like 
ENQ/DEQ/RESERVE and STORAGE (replacement for GETMAIN/FREEMAIN). SVC 
events are really very slow, because of the hardware and software 
overhead in processing an interrupt.

---------------------------------------<snip>----------------------------------
for more information, you could read the Principles Of Operation (POPs) 
for z/OS and Assembler Language Reference / Macros. POPs will explain 
the instructions; the ASM manuals should show you program linkage 
methodology (program linkage methodology remains basically unchanged 
since the 1960's). it's not "light reading" (i used to read POPs when i 
had insomnia...)
-------------------------------------<unsnip>-------------------------------
I found that Program Logic manuals served equally well for insomnia. :-) 
"Supervisor Services" also has a fair description of program linkage 
conventions.

----------------------------------------<snip>----------------------------------
also please note that while DOS/VS(E), (z/)VM, and z/OS all use pretty 
much the same instruction set, they all have different linkage 
methodologies.
--------------------------------------<unsnip>-----------------------------------
Most, if not all, the various linkage conventions are available on all 
those systems. Most of the "dependance" is based on the available 
instruction set.

Rick 
<mailto:yvette-RPrnXxQTqyxWk0Htik3J/[email protected]?subject=Re:%20%5Bturnkey-mvs%5D%20Re:%20Assembler%20Clarification> 
<mailto:[email protected]?subject=Re:%20%5Bturnkey-mvs%5D%20Re:%20Assembler%20Clarification>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.