region in register 1. The first eight bytes of the communication region is the date
in the form MM/DD//YY (month/day/year) or DD/MM/YY (day/month/year).
Job Name
The VSE communication region contains the job name that appears in the JOB
control statement. This name remains for the duration of the job and can be
used in a job by using the COMRG macro to get the address of the
communication region and a displacement of 24 to get the job name.
User Program Communication Bytes
In VSE, the problem program can modify the communication region. You can use
bytes 12 to 22 to communicate results of one job step to succeeding job steps.
MVS can transfer a return code at job completion time. The initiator/terminator,
via JCL (the COND parameter), examines the code but does not pass it to the
next job step. You can communicate data from one job step to the next in the
same job by passing a data set from one step to another or by including a
user-written SVC routine.
UPSI (User Program Switch Indicators)
UPSI consists of one byte set to binary zero when the JOB control statement is
encountered. You can modify the VSE UPSI byte in two ways.
1. Through an UPSI job control statement.
2. By the problem program.
In MVS, the PARM field of the EXEC statement or a control card can be used to
pass information from the JCL to the assembler program.
Problem Program Area Addresses
The VSE communication region has five fields that relate to the problem program
area:
1. The address of the first byte of background problem program area.
2. The address of the uppermost byte of problem program area.
3. The address of the uppermost byte of current problem program phase.
4. The address of the uppermost byte used in loading any phase of the problem
program.
5. Length of the problem program label area.
This information is generally used for two main reasons by VSE programs:
1. To dynamically expand a phase at execution time into available storage for
maximum program efficiency.
2. To dynamically load phases into available storage locations and avoid
overlays where possible.
Although MVS does not provide similar fields, both techniques of dynamic virtual
storage utilization are available to you: an explicit request for virtual storage,
and an implicit request. Using virtual storage directly by the requesting module
Chapter 13. Assembler 275