Farley, Peter x23353 wrote:
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On
Behalf Of Edward Jaffe
Sent: Monday, February 09, 2009 6:50 PM
To: [email protected]
Subject: Re: Assembler Question
<Snipped>
I haven't coded a BALR for program linkage in decades. Up until a few
years ago, I still used it on occasion to "sense" the current AMODE.

Indeed, and do you then always use the LINKINST=BASR keyword on the CALL
macro to force the macro not to use BALR?

I don't count macro-generated BALRs among the BALRs I've coded. A macro interface is decided by its service provider. My macros use BASR or BASSM.

What do you do about the WTO
macro which always generates a BAL around the message text? Etc., etc.,
pick your system macro and observe the BAL/R's and other ancient
instructions all over the place.

I assemble with SYSSTATE ARCHLVL=1 or SYSSTATE ARCHLVL=2. I do not assemble with SYSSTATE ARCHLVL=0. My programs use base registers only for constants, literals and working storage--not code. I would know right away if a macro generated a B or BAL. FYI, on my system WTO generates this:

34384          WTO   'I am here'
34386+         CNOP  0,4
34387+         BRAS  1,IHB4648A               BRANCH AROUND MESSAGE
34388+         DC    AL2(13)                  TEXT LENGTH
34389+         DC    B'0000000000000000'      MCSFLAGS
34390+         DC    C'I am here'             MESSAGE TEXT
34391+IHB4648A DS    0H
34392+         SVC   35                       ISSUE SVC 35

For more ancient macros, I often use IEABRCX PUSH/POP to change B and BAL/BAS to J and JAS just for the "problem" macro. For example:

    IEABRCX ENABLE                Enable B-to-J conversion
    PUSH  ACONTROL                Save ACONTROL status
    ACONTROL FLAG(NOSUBSTR)       Don't flag substring errors
    CALLTSSR EP=IKJPARS,          Invoke TSO/E parse routine
          MF=(E,PPL)              (same)
    POP   ACONTROL                Restore ACONTROL status
    IEABRCX DISABLE               Disable B-to-J conversion

--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[email protected]
http://www.phoenixsoftware.com/

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