All

Here is a way to code the literal that works on z390 and I think will work
on HLASM:

TEST CSECT
     USING *,15
     MVC   D8,=AL1(0,0,1,0,2,0,0,3)
     ABEND 1
D8   DC    XL8'FF'
     END

I ran it on Windows 10 with z390 GUI with ASMLG and DUMP option on to verify
8 byte literal is moved to D8 before issuing ABEND.

Don Higgins
[email protected]
www.don-higgins.net 

-----Original Message-----
From: IBM Mainframe Assembler List <[email protected]> On
Behalf Of Jonathan Scott
Sent: Saturday, May 5, 2018 5:29 AM
To: [email protected]
Subject: Re: Literals: are terms with different length attributes permitted?

> I'm wondering if I can avoid coding the DC statement, and do something 
> like this instead (I know this syntax is wrong):
>
>          MVC   0(8,R1),=(AL3(1),AL2(2),AL3(3))

A literal is equivalent to a single operand of a DC statement, so there is
no syntax similar to this that can be used.

If you don't want to define the operand separately and you use the
programming convention of having a separate LOCTR within the code control
section for static storage such as literals, constants and executed
instructions (which is especially useful for routines which only use
relative branches) then you can simply switch to that LOCTR to define a
constant with a systematically generated name.

Jonathan Scott
IBM Hursley, UK

Reply via email to