OOPS, the statement: AROUND DS 0H
should be before the ST R13,4(,R1) -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets(r) 9151 Boulevard 26 * N. Richland Hills * TX 76010 (817) 255-3225 phone * john.mck...@healthmarkets.com * www.HealthMarkets.com Confidentiality Notice: This e-mail message may contain confidential or proprietary information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. HealthMarkets(r) is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance Company(r), Mid-West National Life Insurance Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM > -----Original Message----- > From: IBM Mainframe Assembler List > [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of McKown, John > Sent: Tuesday, June 05, 2012 7:08 AM > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Subject: Re: Base registers > > > -----Original Message----- > > From: IBM Mainframe Assembler List > > [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Robert > > A. Rosenberg > > Sent: Monday, June 04, 2012 11:33 PM > > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > > Subject: Re: Base registers > > > <snip> > > > > By replacing the MYCSECT references with BYID+4 you can pick up some > > extra free addressability (at the expense of having the offsets > > non-zero based). > > > Back long ago, before I started writing "pure" or "reentrant" > code, I would always start my routines: > > MYCSECT CSECT > USING *,R15 > SAVE (14,12),,* > BAL R1,AROUND > SAVEAREA DC 18A(0) > ST R13,4(,R1) > ST R1,8(,R13) > LR R13,R1 > DROP R15 > USING SAVEAREA,R13 > L R1,4(,R13) > L R1,20(,R1) RESTORE ORIGINAL R1 > ... > > I don't do this any more, in most cases. Just to horrify some > of you, I now generally code HLASM enabled code, using all > the CEExxx macros. > > === > > A reason that my manager did not like the above was that if > the base register points to the beginning of the CSECT, and > you use the SAVE macro properly, you can look at the storage > pointed to by the base register to see the "eyecatcher" of > the program which abended. The SAVE would usually look something like: > > SAVE (14,12),,'&SYSECT &SYSCLOCK' > > And he always used base registers in reverse order: R12, R11, > R10, and so on. > > > -- > John McKown > Systems Engineer IV > IT > > Administrative Services Group > > HealthMarkets(r) > > 9151 Boulevard 26 * N. Richland Hills * TX 76010 > (817) 255-3225 phone * > john.mck...@healthmarkets.com * www.HealthMarkets.com > > Confidentiality Notice: This e-mail message may contain > confidential or proprietary information. If you are not the > intended recipient, please contact the sender by reply e-mail > and destroy all copies of the original message. > HealthMarkets(r) is the brand name for products underwritten > and issued by the insurance subsidiaries of HealthMarkets, > Inc. -The Chesapeake Life Insurance Company(r), Mid-West > National Life Insurance Company of TennesseeSM and The MEGA > Life and Health Insurance Company.SM > >