Ok, thank you -----Mensagem original----- De: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> Em nome de Jonathan Scott Enviada em: quarta-feira, 22 de novembro de 2023 18:05 Para: ASSEMBLER-LIST@LISTSERV.UGA.EDU Assunto: Re: RES: RES: RES: RES: RES: Macro variable attributes
> My compiler says the length of the EQU must be an absolute > value when I use wklen+8 on it. We probably need to clarify some of the terminology in the books and the message explanations. The word "defined" normally simply means that the definition of a symbol has already been seen, but does not guarantee that the value of the symbol is known at that point. We normally use the term "resolved" when the value has been determined. The length field on an EQU must specify a value which is predefined and absolute. But it more strongly requires that the value must be known when the EQU is encountered, so this might be better described as both defined and resolved. If an attempt to evaluate the length finds that some term has not yet been resolved (because it contains a forward reference, or because it refers to the length of a section of code which is not yet resolved) then the length is not acceptable. In contrast, the value field for an EQU can refer to terms which have not yet been defined, or which cannot be evaluated until the difference in location counter has been resolved between two symbols. The assembler tries to evaluate the value each time the symbol is referenced, then at the end of the first pass it tries again to resolve any symbols which are not yet resolved. Jonathan Scott, HLASM IBM Hursley, UK