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