360/20 (vintage 1970) didn't have BAL/BALR instructions, it had BAS/BASR.

Tom Puddicombe
Mainframe Performance & Capacity Planning
CSC

71 Deerfield Rd, Meriden, CT 06450
ITIS | (860) 428-3252 | tpudd...@csc.com | www.csc.com

This is a PRIVATE message. If you are not the intended recipient, please 
delete without copying and kindly advise us by e-mail of the mistake in 
delivery. 
NOTE: Regardless of content, this e-mail shall not operate to bind CSC to 
any order or other contract unless pursuant to explicit written agreement 
or government initiative expressly permitting the use of e-mail for such 
purpose.



Gilbert Saint-Flour <usenet5...@yahoo.com> 
Sent by: IBM Mainframe Discussion List <IBM-MAIN@bama.ua.edu>
02/10/2009 09:49 AM
Please respond to
IBM Mainframe Discussion List <IBM-MAIN@bama.ua.edu>


To
IBM-MAIN@bama.ua.edu
cc

Subject
Re: Assembler Question - AMODE=24






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


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

Reply via email to