On 1/10/2012 2:20 PM, McKown, John wrote:
I could use an enhanced CALL macro. I am writing RENT code and
trying to be "baseless". For the RENT, I am using CALL with MF=(E,(1))
and GPR1 pointing to an array of fullwords in dynamic storage. The
parameters within the CALL are a mixture of locations within the CSECT
(these are read-only "constants") and areas in dynamic storage. Basically
the CALL uses an "LA 0,..." to load the address of the parameter into
GPR0 followed by a "ST 0,n(0,1)" to save the address in the parameter area.
I wish that there were a way to tell the CALL to use a LARL instruction
to address the parameters which are within the CSECT. Even if I had to do
it on a parameter by parameter indicator, such as prefixing the symbol
with an "invalid" character. For instance, a !. So my CALL would look like:
CALL (15),(!IN_CSECT,IN_DYN),MF=(E,(1)) . So that CALL would use
LARL 0,IN_CSECT
ST 0,0(0,1)
LA 0,IN_DYN
ST 0,4(0,1)
BALR 14,15
This would eliminate almost all base+index instructions in my current code.
'ST' and 'LA' are base+index+displacement instructions
You could build your own list of parameters in dynamic
storage, then load R1 with a pointer to the list, then
do BASR 14,15
('BALR' is so 20th century for a guy trying to stay ahead
of the curve, don't you think?)
Well, I still have a few MVCs and CLCs left too.
Am I going too crazy?
I think so.
I'm a bit "register poor" because I really love to keep values
in registers, rather than do redundant loads and stores.
--
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
--
Kind regards,
-Steve Comstock
The Trainer's Friend, Inc.
303-355-2752
http://www.trainersfriend.com
* To get a good Return on your Investment, first make an investment!
+ Training your people is an excellent investment
* Try our tool for calculating your Return On Investment
for training dollars at
http://www.trainersfriend.com/ROI/roi.html