LINKINST was added to the CALL macro in 1997 (OS/390 R2). Frankly, I don't remember ever noticing it, let alone using it.
What I remember is what I went through when I started to work in XA in 1988/1989 and ESA in 1991. I started to modify programs which were all AMODE=24 to switch to AMODE=31, like I saw the SDSF code do in ISFSRC. A few months later, I realised that it would be better to write AMODE=ANY code which CALLs AMODE=ANY sub-routines which switch to AMODE=24 when they have to (mostly GET/PUT, READ/WRITE), and made appropriate changes in sub-routines for them to work in MVS/370, MVS/XA and MVS/ESA. So, for the last 20 years, I used this type of approach in most of my assembler code and don't care about what's available to switch AMODE in MVS, VM and VSE. In 2003, I realised that it was unlikely that my programs would ever have to work in a system older than DFSMS/MVS, so I removed all the AMODE=24 code from GET/PUT, READ/WRITE sub-routines. I don't think I ever used SYSSTATE or made much difference between BASR and BALR and can't imagine why someone would worry about this in 2009. The only thing I remember is the problem about 24-bit address constants in various control-blocks (DCB, RB, SWA, ...) which many of my programs and sub-routines have to deal with. And, almost always, I code BAL/BALR and rarely BAS/BASR. I started coding assembler on a 360/20 in 1972, so call that an old habit. -- Gilbert Saint-Flour GSF Software http://gsf-soft.com/ On Tuesday 10 February 2009 14:53, Farley, Peter x23353 wrote: >> -----Original Message----- >> From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On >> Behalf Of Edward Jaffe >> Sent: Monday, February 09, 2009 6:50 PM >> To: IBM-MAIN@bama.ua.edu >> 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? 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. > > <smallrant> > I am occasionally somewhat peeved at IBM for failing to provide different, > non-24-bit macro expansions when the programmer goes to the trouble of > coding SYSSTATE ARCHLVL=2 (or any other mechanism they might care > to invent). > > Even GET/PUT could use BASR, AFAIK, unless they too are using the BALR > to detect AMODE. Which ought to be documented, if true. > </smallrant> ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html