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>