MVS Programming: Assembler Services Guide
Total Page:16
File Type:pdf, Size:1020Kb
z/OS Version 2 Release 3 MVS Programming: Assembler Services Guide IBM SA23-1368-30 Note Before using this information and the product it supports, read the information in “Notices” on page 483. This edition applies to Version 2 Release 3 of z/OS (5650-ZOS) and to all subsequent releases and modifications until otherwise indicated in new editions. Last updated: 2019-02-16 © Copyright International Business Machines Corporation 1988, 2017. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents List of Figures...................................................................................................... xv List of Tables.......................................................................................................xix About this information........................................................................................ xxi Who should use this information.............................................................................................................. xxi How to use this information...................................................................................................................... xxi z/OS information........................................................................................................................................xxi Abstract for MVS Programming: Assembler Services Guide................................. xxii How to send your comments to IBM................................................................... xxiii If you have a technical problem.............................................................................................................. xxiii Summary of changes......................................................................................... xxiv Summary of changes for z/OS MVS Programming: Assembler Services Guide for z/OS Version 2 Release 3............................................................................................................................................ xxiv Summary of changes for z/OS Version 2 Release 2 (V2R2), as updated December, 2015...................xxiv Summary of changes for z/OS MVS Programming: Assembler Services Guide for z/OS Version 2 Release 2............................................................................................................................................ xxiv z/OS Version 2 Release 1 summary of changes.......................................................................................xxv Chapter 1. Introduction......................................................................................... 1 Chapter 2. Linkage conventions............................................................................. 5 Saving the calling program's registers.........................................................................................................6 Caller-provided save area.......................................................................................................................6 Linkage convention for floating point registers..................................................................................... 6 Linkage convention for the floating point control register.................................................................... 6 System-provided linkage stack..............................................................................................................7 Using the linkage stack................................................................................................................................ 7 Example of using the linkage stack........................................................................................................7 Using a caller-provided save area................................................................................................................8 If not changing ARs or bits 0–31 of the 64–bit GPRs............................................................................8 If changing the contents of bits 0-31 of the 64-bit GPRs but not changing ARs............................... 10 If starting in AMODE 64 .......................................................................................................................13 If changing ARs without using the linkage stack.................................................................................15 Establishing a base register.......................................................................................................................18 Linkage procedures for primary mode programs......................................................................................18 Primary mode programs receiving control.......................................................................................... 18 Primary mode programs returning control.......................................................................................... 19 Primary mode programs calling another program.............................................................................. 20 Linkage procedures for AR mode programs..............................................................................................20 AR mode programs receiving control and using the linkage stack..................................................... 20 AR mode programs returning control and using the linkage stack.....................................................21 AR mode programs receiving control and not using the linkage stack...............................................21 AR mode programs returning control and not using the linkage stack...............................................21 AR mode programs calling another program.......................................................................................22 Conventions for passing information through a parameter list................................................................22 Program in primary ASC mode.............................................................................................................22 Programs in AR mode...........................................................................................................................23 Chapter 3. Subtask creation and control...............................................................25 Creating the task........................................................................................................................................25 iii Priorities..................................................................................................................................................... 25 Address space priority......................................................................................................................... 25 Task priority.......................................................................................................................................... 26 Subtask priority.................................................................................................................................... 26 Assigning and changing priority........................................................................................................... 26 Stopping and restarting a subtask (STATUS macro)................................................................................. 26 Task and subtask communications........................................................................................................... 27 Chapter 4. Program management.........................................................................29 Residency and addressing mode of programs..........................................................................................29 Residency mode definitions.................................................................................................................29 Addressing mode definitions............................................................................................................... 30 Linkage considerations.............................................................................................................................. 30 Floating point considerations...............................................................................................................31 Passing control between programs with the same AMODE................................................................31 Passing control between programs with different AMODEs............................................................... 31 Passing control between programs with all registers intact...............................................................32 Load module structure types.....................................................................................................................34 Simple structure...................................................................................................................................34 Dynamic structure................................................................................................................................ 34 Load module execution..............................................................................................................................34 Passing control in a simple structure........................................................................................................ 34 Passing control without return.............................................................................................................35