IBM OS/390 User Manual

Page of 673
13.2.6.1 List and Execute Macro Forms
The list and execute forms of data management macro instructions, used
together provide the same services available from the standard form of the
macro. The list form of the macro provides a parameter list to be passed to
either the control program or another problem program, depending on the micro
instruction.
Use the execute form with one or two parameter lists established by the list
form. The execute form provides the executable instructions required to modify
the parameter lists and pass control to the required program. The advantages of
the list and execute forms of a macro are:
Any operands that remain constant in every use of the macro can be coded
in the list form. You can omit these operands in each of the execute forms of
the macro that uses the list. This saves coding time and virtual storage area
when you use a macro many times.
The execute form of the macro can modify any of the operands previously
designated. There are some exceptions.
The list used by the execute form of the macro can be located in a portion of
virtual storage assigned to the task through the use of the GETMAIN macro.
This ensures that the program remains reentrant.
13.2.6.2 Definition of BLKSIZE
In VSE, the keyword BLKSIZE is defined as the length of one input/output area.
The value specified in BLKSIZE depends on the type of processing intended.
Depending on the selected options in the DTF, the value specified in BLKSIZE for
the VSE file can be:
Data length (for direct access and all sequential files)
Data length, plus key length (for direct access files)
Data length, plus eight bytes for count (for direct access and sequential
DASD files)
Data length, plus count, plus key length (for direct access files). In all cases
MVS uses the keyword BLKSIZE to mean only data length.
Note:
In MVS, the maximum value for BLKSIZE (that is, length of data blocks) is
32760. In VSE, the length of data blocks on DASD or tape can be greater than
32760.
13.2.6.3 IOREG
In VSE, specification of the IOREG parameter on a DTF allows blocked records to
be processed directly in the buffer. In MVS, the equivalent technique is called
Locate Mode. There are two major differences between IOREG and Locate Mode:
Locate Mode always returns the record address in R1; consequently, an
LR ioreg,R1 instruction must be inserted after each GET instruction when
converting to MVS.
The combination IOREG=(reg),TYPEFLE=OUTPUT has no exact equivalent
in MVS. The easiest way to convert this type of file is to use Move Mode
(MACRF=PM) instead of Locate Mode (MACRF=PL).
Chapter 13. A s s e m b l e r
293