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

Reply via email to