In a recent note, Chase, John said:

> Date:         Tue, 11 Oct 2005 11:15:43 -0500
> 
> > -----Original Message-----
> > From: IBM Mainframe Discussion List On Behalf Of Edward E. Jaffe
> >
> > [ snip ]
> >
> > Literals can do some things ordinary constants cannot. For
> > example, it's not easy to define a constant that is
> > equivalent to the literal generated by the following:
> >
> >      LA    R1,=A(*)
> >
> > Without a literal, you need insert a label in the code to
> > make it work.
> > Ugly!
> 
> It's not clear to me what use you'd make of the address of a literal,
> without some more context.
> 
Possibly some parameter lists, avoiding the use of BALR; ST
(which happens to be nonreentrant.)

One construct HLASM has not yet provided is nested literals:

         L     R1,=A(=Y(42))

No real purpose beyond syntactic closure.  =A(<address-expression>)
ought not restrict the form of the <address-expression>, and
<literal> ought to be a production of <address-expression>.  HLASM
syntax is too complicated, with too many (exceptions to) rules.
Yah, I know; that would require the literal parser to be recursive.
But nowadays that ain't rocket science.

-- gil
-- 
StorageTek
INFORMATION made POWERFUL

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to