Mnote was just an example to simplify my intent.
But when I try to set 
XYZ      EQU   0,WKLEN+8
I receive the error 
** ASMA182E Operand 2 must be absolute, 0-65535; ignored                     

-----Mensagem original-----
De: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> Em nome de 
Jon Perryman
Enviada em: terça-feira, 21 de novembro de 2023 19:03
Para: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Assunto: Re: RES: RES: RES: RES: Macro variable attributes

On Tue, 21 Nov 2023 17:39:02 -0300, João Reginato <jb.regin...@gmail.com> wrote:

>Have you read from the beginning of this thread?

Yes, I'm familiar with the thread. As I said before, we're making assumptions 
because you didn't state your intent. Instead, you gave a specific example 

>As I said in the first e-mail sent, I need the numeric value of a macro 
>variable "
> like &LV=wklen+8, where I don't know the initial value of wklen, but the 
> compiler knows it.

You've changed your intent. Jonathan and I based our suggestions on your 
original example. LV=WKLEN+8 changes the situation. Jonathan stipulated "&LEN 
contains a single symbol" which I interpret to mean it can't handle the "+8". 
Let's assume it does handle it. You then have a problem with LV=WKLEN+WK2LEN 
which can be worked around by splitting the text.

I suggested using EQU length. If I remember correctly, I've used 
LENGTH=L'WKLEN+72+L'WK2LEN in the past and should be resolvable by SETA. If 
this is not acceptable for your situation, then you'll have to wait for the 
PTFs or change your requirements.

>     MACRO
>&LABEL WORK &LEN=0
>&LABEL DS XL(&LEN)
>      MNOTE *,'LEN=&LEN'
>    MEND
>  WORK LEN=wklen
>Wklen equ  32

You're dealing with 2 languages (Assembler & Macro). Your WKLEN EQU is not 
resolvable by the macro and must be moved before the macro call. The assumption 
was that you only needed this for MNOTE. 

Reply via email to