HLASM Programmer's Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


USING

HLASM Programmer's Guide
SC26-4941-06

Read syntax diagramSkip visual syntax diagram
   .-USING(MAP,WARN(15))------------------.   
>>-+--------------------------------------+--------------------><
   |        .-,-----------------------.   |   
   |        V   .-MAP---.         (1) |   |   
   +-USING(---+-+-------+-------+-----+-)-+   
   |          | '-NOMAP-'       |         |   
   |          | .-WARN(15)-.    |         |   
   |          +-+----------+----+         |   
   |          | +-WARN(n)--+    |         |   
   |          | '-NOWARN---'    |         |   
   |          | .-NOLIMIT-----. |         |   
   |          '-+-------------+-'         |   
   |            '-LIMIT(xxxx)-'           |   
   |                                      |   
   |                                      |   
   '-NOUSING------------------------------'   

Notes:
  1. 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.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014