.-USING(MAP,WARN(15))------------------.
>>-+--------------------------------------+--------------------><
| .-,-----------------------. |
| V .-MAP---. (1) | |
+-USING(---+-+-------+-------+-----+-)-+
| | '-NOMAP-' | |
| | .-WARN(15)-. | |
| +-+----------+----+ |
| | +-WARN(n)--+ | |
| | '-NOWARN---' | |
| | .-NOLIMIT-----. | |
| '-+-------------+-' |
| '-LIMIT(xxxx)-' |
| |
| |
'-NOUSING------------------------------'
Notes:
- Choose at least one option.
- Default
- USING(MAP,WARN(15))
- Abbreviations
- US / NOUS
- xxxx
- This suboption, when used in combination with the WARN(8) suboption,
specifies the maximum displacement that base-displacement address
resolution checks.
xxxx is the decimal
value of the displacement, and must be less than or equal to 4095.
X'xxx' can also be used to specify the value in hexadecimal. If specified,
this value must be less than or equal to X'FFF'.
If more than
one base register is specified in a USING statement, the value specified
in the LIMIT suboption is used only to check the maximum displacement
from the last specified base register. For example, if USING(LIMIT(X'F00'),WARN(8))
is specified at invocation, the messages is issued as in
Figure 1.
Figure 1. Effect of the LIMIT suboption Active Usings: None
Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2008/07/11 17.48
000000 00000 01F82 1 EXAMPLE CSECT 00001000
R:AB 00000 2 USING EXAMPLE,10,11 00002000
⋮
00040E 47F0 AB8C 00B8C 176 B LABEL111 1 00176000
⋮
00B8C 496 LABEL111 EQU * 00496000
⋮
00152E 47F0 BF80 01F80 908 B LABEL999 2 00908000
** ASMA304W Displacement exceeds LIMIT value specified
⋮
01F80 1436 LABEL999 EQU * 01436000
001F80 07FE 1437 BR 14 01437000
1438 END 01438000
Although the resolved displacement of
the instruction at 1 is greater than
the specified limit, error diagnostic message ASMA304W is
not issued because register 10 was not the last specified base register.
However, the instruction at 2 causes
the message to be issued because register 11 was the last specified
base register.
- NOLIMIT
- This suboption specifies that displacements are not checked. Specifying
this suboption is equivalent to specifying the LIMIT suboption with
a value of 4095 or X'FFF'.
- MAP
- This suboption instructs the assembler to produce the USING Map
section of the assembler listing. For more information, see USING map.
- NOMAP
- This suboption specifies that no USING map is produced.
- WARN(n)
- This suboption specifies the conditions under which warning error
diagnostic messages are issued. Each condition has an associated
condition number, n. The allowable values
for n are:
- 0
- No USING warning messages are issued.
- 1
- Nullified USINGs: The assembler issues message:
- ASMA300W when a previous active ordinary (unlabeled)
USING's range coincides with and supersedes that of the USING being
processed.
- ASMA301W when the range of the USING being processed
coincides with and supersedes that of a previous active ordinary (unlabeled)
USING.
- ASMA306W when the range of the USING being processed
coincides with the implicit USING 0,0 (for example USING 0,2).
Note: Message
ASMA302W is issued when R0 is specified as a base register with a
non-zero base address, and message ASMA306W is issued when any register
other than R0 is specified as a base register with an absolute base
address whose range overlaps the assembler's default (0,4095).
- 2
- R0 based USINGs: The assembler issues message ASMA302W when
a USING specifies R0 as a base register, with a non-zero absolute
or relocatable expression for the base address.
- 4
- Multiple resolutions: The assembler issues message:
- ASMA303W when multiple resolutions are possible
for an implicit address.
- ASMA306W when the range of the USING being processed
overlaps the range of the implicit USING 0,0 (for example USING 16,2).
Note: Message ASMA302W is issued when R0 is specified as a base register
with a non-zero base address, and message ASMA306W is issued when
any register other than R0 is specified as a base register with an
absolute base address whose range overlaps the assembler's default
(0,4095).
- 8
- LIMIT: The assembler issues message ASMA304W
when the calculated displacement in any valid resolution exceeds the
threshold specified in the LIMIT suboption. This has no effect if
the LIMIT suboption is not specified.
Several conditions
can be combined by adding the associated condition numbers. For example,
specifying WARN(12) tells the assembler to issue warning diagnostic
messages for the conditions with condition numbers 4 and 8.
- NOWARN
- This suboption specifies that no USING warning messages are issued.
- NOUSING
- NOUSING specifies that all USING suboptions are off. It is equivalent
to specifying USING(NOLIMIT,NOMAP,NOWARN), or specifying in the ASMADOPT
default options: LIMIT=NO,MAP=NO,WARN=NO.
The USING suboptions LIMIT, MAP, and WARN are specified in the
installation default options as LIMIT, MAP, and WARN.