Try removing the '(8)' on  the ' UNPK  YYYY(15),&STCKEVAL(8)' statement.
I'm thinking the assembler macro processing is actually interpreting it as the 
8th character in the literal.
I may be off base here, but it's what I would do.

C-

Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
[email protected]  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.

-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On 
Behalf Of Paul Gilmartin
Sent: Thursday, October 29, 2015 4:07 PM
To: [email protected]
Subject: Subscripting a literal

In a macro, the following works OK:

  Loc  Object Code    Addr1 Addr2  Stmt   Source Statement                      
            HLASM R6.0  2015/10/29 13.44
                                                 ....
0000F2 F3E7 D0D0 D118 000D0 00118   146+         UNPK  YYYY(15),PK(8)
... where YYYY and PK are both relocatable symbols defined in a DSECT
outside the macro.

But:
                                      3          MACRO
                                      4 &L       CONV  &STCKEVAL
                                                 ...
                                                 UNPK  YYYY(15),&STCKEVAL(8)
gives:
000112 0000 0000 0000 00000 00000   161+         UNPK  YYYY(15),
** ASMA074E Illegal syntax in expression -
** ASMA435I Record 32 in SPPG.HELLO.JOB06662.D0000101.? on volume:
Where &STCKEVAL is a parameter defined as:
                                     90          CONV  
=X'00C3870CB8C73BFFFFFFFFFFFFFFFFFF'
... in the macro call.

Naively, I had hoped that PK and &STCKEVAL would both work as
relocatable address expressions.  What's the nicest way to make this work?:

o Copy the literal to a work area?

o LA R15,&STCKEVAL and base off that?

o X&SYSNDX EQU &STCKEVAL and use that?

o Other?

Thanks,
gil

Reply via email to