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.