USING
- 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.