--------------------------------------<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/***@public.gmane.org?subject=Re:%20%5Bturnkey-mvs%5D%20Re:%20Assembler%20Clarification>
<mailto:turnkey-mvs-***@public.gmane.org?subject=Re:%20%5Bturnkey-mvs%5D%20Re:%20Assembler%20Clarification>