Am 30.10.2015 um 00:26 schrieb Paul Gilmartin:
On 2015-10-29 15:23, David Cole wrote:
Yeah Paul, Tony has it right. "&STCKEVAL.(8)" is what you want to do.

The dot separates the "(8)" from the symbol.

Without the dot, HLASM expects &STCKEVAL is an array and that you want the 8th 
element.

Is this preferable to my accidental discovery:
     &STCKEVAL+0(8)

They both work; I suppose it depends on which is documented as supported
and which is more resilient against HLASM enhancements.

The dot after a macro symbol is the "normal" way to terminate a macro symbol. To be precise: you can put a dot after every macro symbol, even if it is not needed. But normally you omit the dot, because the macro symbol is terminated by another character which follows and which is not a letter, a digit or an opening paranthese.

For example:

&MSYMB.A

will generate the value of the macro symbol &MSYMB, followed by the letter A;
this is needed sometimes when you want to generate names inside of macros
that are derivated from other names.

By appending the +0 (which makes an address expression of the more simple
symbolic storage reference), you found a solution that IMO should be solved
more directly by appending the dot ... that's the purpose of the dot on macro symbols. But anyway ... it works, so it is OK. For my example above, you will
probably not find another solution.

Kind regards

Bernd

Reply via email to