SIZE
 .-SIZE(MAX)---------------------------.
>>-+-------------------------------------+---------------------><
'-SIZE(-+-integerK----------------+-)-'
+-integerM----------------+
+-MAX,ABOVE---------------+
+-MAX-integerK-+--------+-+
| '-,ABOVE-' |
'-MAX-integerM-+--------+-'
'-,ABOVE-'
|
You use the SIZE option to specify the amount of virtual storage
available to the assembler to perform an in-storage assembly.
- Default
- SIZE(MAX)
- Abbreviation
- SZ
- Restrictions
- You cannot specify this option on *PROCESS statements.
- integerK
- Specifies the amount of virtual storage in 1024-byte (1K)
increments.
The minimum acceptable value is 200K
(refer to Note 2).
- integerM
- Specifies the amount of virtual storage in 1048576-byte (1M)
increments.
The minimum acceptable value is 1M.
- MAX
- Specifies that the assembler requests all the available space
(refer to Note 3)
in the user region (z/OS), or virtual machine (CMS) or
in the partition GETVIS (z/VSE).
- MAX-integerK
- Specifies that the assembler requests all the available space
(refer to Note 3) in the
user region (z/OS), virtual machine (CMS) or
partition GETVIS (z/VSE)
less the amount of integerK of storage (1K equals 1024 bytes).
The minimum acceptable integerK value is 1K.
- MAX-integerM
- Specifies that the assembler requests all the available space
(refer to Note 3)
in the user region (z/OS), or virtual machine (CMS)
less the amount of integerK of
storage (1M equals 1048756 bytes).
The minimum acceptable integerM value is 1M.
Note:
- The maximum storage value you can specify might not be available
in the user region (z/OS), virtual machine (CMS), or
in the partition GETVIS (z/VSE),
after storage has been allocated for the operating system.
-
The minimum amount of working storage required by the assembler is
200K or 10 times the work data set block size, whichever is greater.
-
When you specify the MAX suboption, the assembler releases 128K
back to the user region (z/OS), virtual machine (CMS), or
the partition GETVIS (z/VSE),
for system usage. When you specify the MAX suboption, there might not
be enough storage remaining in
the user region (z/OS), virtual machine (CMS), or
the partition GETVIS (z/VSE),
to load any exits you specify, or any external functions you use
in your assembly or for operating system functions that may be
required during the assembly.
If the assembly does fail due to a lack
of storage, then use MAX-integerK or MAX-integerM
to ensure that there is sufficient free storage during the assembly
for any of these functions.
- The assembler loads user I/O exits before it obtains the working
storage. If the user exit obtains storage, then it reduces the amount
available for the assembler.
- The assembler loads external function routines after it obtains
working storage. If you use external functions in your program, you
should reduce the value you specify in the SIZE option, to allow storage
space for the external function modules, and any storage they might
acquire.
- With High Level Assembler R6, the ABOVE operand is
obsolete. It is documented here for compatibility. The
assembler ignores this operand and always attempts to
obtain the storage specified by the SIZE option from
above the 16MB line. If storage above the 16MB line is
not available, the assembler attempts to obtain the
storage from below the 16MB line.
High Level Assembler acquires the amount of storage you specify in the SIZE
option from the
user region (z/OS), virtual machine (CMS), or
partition GETVIS (z/VSE).
The assembler only requires a work data set when it has insufficient
virtual storage to perform an in-storage assembly. An in-storage
assembly usually reduces the elapsed time needed to complete the
assembly.
The statistics in the Diagnostic Cross Reference and Assembler
Summary section of the assembly listing shows the amount of
storage the assembler allocated and the amount of storage the
assembler actually used. You should specify a large enough value
on the SIZE option to allow the assembler to perform an in-storage
assembly, otherwise you must provide a work data set.
To reduce the amount of storage required by the assembly you
can disable some of the cross-reference sections of the
assembler listing, for example you can specify NOMXREF,
NORXREF, or NOXREF. Additionally if ADATA is not required
then it should be disabled by specifying NOADATA. Enabling
of ADATA processing will cause most of the cross-reference
processing to be done, even though the sections will not be
output to the assembler listing.
[ Top of Page | Previous Page | Next Page | Contents | Index ]