A really unfortunate limitation. Makes no logical sense to me why the assembler has this limitation.
The only problem I could see would be what about nested literals? Would users expect to be able to coe L 1,=A(=X'123)) If S-constants will work for you, then you can fake them with pseudo-executable instructions. Instead of DC A(=X'123') Generate L 0,=X'123' If you have a USING for R0 on your literal pool, then the above will generate a 4-byte instruction. Ignore the first two bytes, and the second two bytes are your S-Con. Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:[email protected]] On Behalf Of Windt, W.K.F. van der (Fred) Sent: Friday, December 8, 2017 7:40 AM To: [email protected] Subject: Re: Address of a =LITERAL > It is illogical that this does not work but that is the way it is. > > Do S-constants work? That is, is S(=x'123') valid, and might that work for you? > > Do you have to use literals? Can you use named constants instead? > > Charles The S-constants seem to have the same limitation: 0000006 17 DC S(=C'0') ** ASMA030E Invalid literal usage - =C'0') ** ASMA435I Record 17 in NDV.E.RUS.AASM.BASE(FQMTEST) on volume: O0N005 ----------------------------------------------------------------- ATTENTION: The information in this e-mail is confidential and only meant for the intended recipient. If you are not the intended recipient, don't use or disclose it in any way. Please let the sender know and delete the message immediately. -----------------------------------------------------------------
