You can specify the addresses you provide to IDF either by the cursor placement (for information about this see Arguments and cursor positioning) or by typing an expression on the command line before pressing a PF key.
An IDF expression is made up of terms. If an expression consists of two or more terms, a plus (+) or minus (-) sign (operator) indicates that the fully resolved values of the terms should be added or subtracted.
LOOP
STMT#5
X'2005E'
C'b'
247
F'235'
Source statement numbers can be used as symbolic names. They are specified in the form "STMT#nnnnn", where nnnnn is the statement number involved.
Numeric values that are input without an explicit hexadecimal (X'999') or decimal (F'999') indication, for example "246", are interpreted by IDF as determined by the current base setting. The default base is decimal. It can be redefined to hexadecimal with HEXINPUT ON or SET OPTION ON HEXINPUT. (The arrow beside the command line indicates the default base; an arrow of the form "-->" is used if the default base is decimal, and of the form "==>" is used if the default base is hex.)
Implicitly specified hexadecimal numbers must begin with a numeric digit from 0 to 9. If you attempt to input a hexadecimal number such as A34 implicitly, IDF interprets it as the name of a symbol, not a number. Thus, 0A34 is recognized (assuming the default base is hexadecimal) but A34 is taken as a symbol name.
(TEST)LOOP
(VARMVSXA.VARASM) BTHING
(TCAT.) LOCRET
Intersperse blanks as you like, provided
they do not interrupt items such as a symbol or hex constant. For
example, the following expressions are equivalent to the previous
ones: ( TEST ) LOOP
( VARMVSXA . VARASM ) BTHING
( TCAT . ) LOCRET
The SET QUALIFY command tells IDF which module's symbols should be searched when a module name is not specified in a symbolic name.
(TEST)LOOP(R4)
The byte at the location
addressed by R4 in the dataspace identified by the ALET in AR4 is
specified: 0(AR4)
You can combine terms,
for example: (TEST) LOOP+20 (R2)
24(R2)+0(R3)
As another example, to find the difference
between two labels in the same CSECT, LOOP, and LOOPEND, you could
use: (TEST)LOOPEND-(TEST)LOOP
If you
have a translate table, you might want to use an expression with a
character term: TRTABLE+C't'
Character
terms in addressing expressions are restricted to a single character.
If you need to specify an apostrophe, place two apostrophes within
the enclosing apostrophes: for example C''''.+X'40'
-23
If the current offset value is X'20000', the expression
+X'40' gives the value X'20040'.