Well, the statement from Peter Relson (and others) which is
essentially:
----------
LA R1,1 is exactly equivalent to LA R1,1(0).  Just look at the
generated object code.
----------
is not totally true.  It all depends upon which USINGs are in effect.

Take a peek at the following example (admittedly a bit unusual, but
perfectly legitimate).

   Loc   Object Code      Addr1    Addr2    Stmt   Source Statement
00000000                00000000 00000008      1 EXAMPLE  CSECT ,
                    R:9 00000000               2          USING 0,9
00000000 4120 9100               00000100      3          LA 2,256
00000004 4120 0100               00000100      4          LA 2,256(,0)
                                               5          END   ,

If the intent is to place a truly non-relocatable value (e.g., a
constant) into a GPR (which IS the intent of this example), then I
believe the coding style of statement 4 is the preferred way to go; it
is explicit and unambiguous.  This applies to many other instructions
which use base+displacement operands (examples:  SLL, SRL, SLDL)
which are not interpreted as address values.

Bob

Reply via email to