Peter,

I had a similar issue with MVI and CLI's where the data name was extra
long, and the name of the literal was also.  I suspect, there isn't a good
answer.

I'll show you what I did.  I know it is not what your looking for but It
made it readable for me. The example

THIS_IS_A_LONG_FIELD_NAME      DC   C'?'
THIS_IS_VALUE_OK_FOR_THE_FIELD EQU  'O'

The MVI and CLIs ended up split like yours.

         MVI   THIS_IS_A_LONG_FIELD_NAME,THIS_IS_VALUE_OKX
                _FOR_THE_FIELD

This solved it for me.

         MACRO
&LABEL   NEATMVI &P1,&P2
&LABEL   MVI &P1,&P2
         MEND

and the code was
         NEATMVI THIS_IS_A_LONG_FIELD_NAME,               x
               THIS_IS_VALUE_OK_FOR_THE_FIELD

Just thoughts.






"Farley, Peter x23353" <[email protected]>
Sent by: IBM Mainframe Assembler List <[email protected]>
05/31/2011 01:30 PM
Please respond to
IBM Mainframe Assembler List <[email protected]>


To
[email protected]
cc

Subject
Legal syntax for multiple-operand continued DC statements?






Hi All,

I hope you can help me with an assembler error I haven't seen before.

I had thought that the following would be a legal syntax for
multiple-operand continued DC statements, but HLASM is complaining about
it.  Here is what the source looks like:

               DC    A(0),CL7'NAME1  ',X'00',X'09',X'03',AL1(typ_X),   X
               AL1(0+bitFlag1+bitFlag222+bitFlag3333+bitFlag44444),    X
               AL1(0+bitFlag5555555),AL1(0),AL1(0+bitF6),AL1(0)

Here is the HLASM complaint:

** ASMA065E Unknown type -
** ASMA435I Record 354 in userid1.NEWPGM.PDS(MYNEWPGM) on volume: XXXXXX
000037 00

The DC and each continuation line is in column 16.  Why isn't this format
legal?  Do I have to format it the following way to be legal as a single
DC statement?  I find this format unreadable and thus not maintainable,
but the assembler does not complain about it:

               DC    A(0),CL7'NAME1  ',X'00',X'09',X'03',AL1(typ_X),AL1X
               (0+bitFlag1+bitFlag222+bitFlag3333+bitFlag44444),AL1(0+bX
               itFlag5555555),AL1(0),AL1(0+bitF6),AL1(0)

I do know that I can do it the following way as separate DC statements for
each line, but each occurrence of these variables will be slightly
different (i.e., different bit flags will be set, some in different
bytes):

               DC    A(0),CL7'NAME1  ',X'00',X'09',X'03',AL1(typ_X)
               DC    AL1(0+bitFlag1+bitFlag222+bitFlag3333+bitFlag44444)
               DC    AL1(0+bitFlag5555555),AL1(0),AL1(0+bitF6),AL1(0)

Please help cure my ignorance (or memory failure) here.

Peter
--

This message and any attachments are intended only for the use of the
addressee and
may contain information that is privileged and confidential. If the reader
of the
message is not the intended recipient or an authorized representative of
the
intended recipient, you are hereby notified that any dissemination of this
communication is strictly prohibited. If you have received this
communication in
error, please notify us immediately by e-mail and delete the message and
any
attachments from your system.


*******
This message may contain confidential information intended only
for the use of the addressee(s) named above and may contain
information that is legally privileged. If you are not the
addressee, or the person responsible for delivering it to the
addressee, you are hereby notified that reading, disseminating,
distributing or copying this message is strictly prohibited.  If you
have received this message by mistake, please immediately notify
us by replying to the message and delete the original message
immediately thereafter.  Thank you.
*******

Reply via email to