At 11:51 -0600 on 02/21/2006, Todd Burch wrote about Re: z/Architecture Principles of Operation (SA22-7832-04):

Certainly I can do that.  And, when I do that, I have absolutely no need for
the LDF instructions.

The purpose of the Long Displacement Facility is to provide relief for base
register constraint.  Coding a "LAY R1" to get around a macro expansion, and
taking up a base register to do that, doesn't buy me diddly squat in terms
of "base register relief".

R1 IS the register that is loaded by the MF=(E,LIST) parm. Thus loading it via a LAY and coding MF=(E,(1)) tells the Macro to not generate the LA 1,List (since R1 has already been loaded). There is no EXTRA register used. Here are the expansions for your review.

000000                00000 00014     1 TESTMF   CSECT
                 R:C  00000           2          USING *,12
                                      3          WTO   MF=(E,LIST)
000000 4110 C010            00010     7+         LA    1,LIST
000004 0A23                           8+         SVC   35
000006 E310 C010 0071       00010     9          LAY   1,LIST
                                     10          WTO   MF=(E,(1))
00000C 0A23                          14+         SVC   35
000010                               15 LIST     DS    F
                                     16          END

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to