Martin,

Very clever!  Personally, for everyday use, I prefer things a bit more
"plain and simple."  Though, I might consider creating a macro to
incorporate such a technique:
          EXWOW R2,(PACK,DWORD,0(R10))
          EXWOW R2,(MVC,DESTINATION_BUFFER,0(R10))

The latter being only marginally better than:
          EX    R2,=S(&MVC,DESTINATION_BUFFER,0(R10))

Of course, one could simply locate the target instruction in with
constant data that is assembled into program object, since that already
has a base.  I use LARL with EX because I like to keep the target in the
vicinity of the code with which it belongs logically.  I do like that
your technique does keep the essential nature of the target very much
within eyeball range.

Doug



http://www.compuware.com/
The contents of this e-mail are intended for the named addressee only. It 
contains information that may be confidential. Unless you are the named 
addressee or an authorized designee, you may not copy or use it, or disclose it 
to anyone else. If you received it in error please notify us immediately and 
then destroy it.

From: IBM Mainframe Assembler List
[mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Martin Truebner
Sent: Wednesday, June 06, 2012 11:46 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Base registers

Douglas,

how is this (until EXRL is legalised ;-)

  EX  R2,=S(7*16+&PACK,DWORD,0(R10))

And Yes- I am aware of problems in the literalpool having
different usings

- (for Robin) and I have verified that R2 is between F and 0 and
that R10 is on the beginning of a string)
--
Martin

Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE
more at http://www.picapcpu.de

Reply via email to