IBM OS/390 Time Clock User Manual


 
programs. You can also leave the tests in your program and provide an UPSI
constant in your COMRG macro that would always satisfy the tests.
The MVS macro instruction TIME provides the system date (Julian or
Gregorian) in a user work area. The date is in packed decimal digits, such as
X′19980323′. For details, see the section “GETIME Macro” on page 278. If
you modify the partition date with a //DATE card in the VSE JCL, you may
have to simulate this option under MVS because only a single date is
maintained for the entire MVS system.
In MVS, you can obtain the job name by using the EXTRACT macro and
coding the parameter FIELDS=TIOT. You obtain the address of the TIOT
(task input,output table) through this macro. This job name is located in the
first eight bytes of the TIOT.
A less desirable technique would read the variable data from the operator
console upon request.
If any other data is required from the COMRG macro, solutions will then have to
be approached through manual procedures on an individual basis.
COMRG and MVCOM Macros
The VSE COMRG macro places the address of the communication region in
register 1. The MVCOM macro modifies the user program communication bytes
and the UPSI byte in the communication region. MVS does not have similar
macros because it does not have a communication region (refer to the section
13.2.1.3, “Communication Region” on page 274).
LOAD Macro
The VSE LOAD macro causes the control program to bring in the phase specified
in the first parameter and returns control to the calling phase. After execution of
the macro, the entry-point address of the called phase is returned in register 1.
The MVS LOAD macro causes the control program to bring the load module
containing the specified entry point into virtual storage if a usable copy is not
available in virtual storage. The entry-point address of the load module is
returned in register 0.
If the application program invokes the loaded program only once, you may
substitute the MVS LINK macro for the VSE LOAD and CALL macros. The LINK
macro must be used to invoke the SORT utility program.
If you do not want the application program to invoke the loaded program (a
table, for example), you should use the MVS LOAD macro. In addition, the
application program must reconcile the fact that the VSE LOAD will return the
address in register 1 and MVS LOAD in register 0.
In either case, if the VSE program used the COMRG macro to determine the load
point, it is not required because MVS automatically manages load module
placement in storage.
Example:
(VSE)
LOAD PROGB LOAD the phase
LR 15,1 pass address
CALL (15),parm1,parm2 invoke PROGB
Chapter 13. Assembler 277