Depending on what you're doing, LOCTR may help.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Tony Thigpen [t...@vse2pdf.com] Sent: Monday, May 3, 2021 3:52 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: [PossibleSpam] Re: AREAD question In this case, I am using AREAD to build a branch table. The macro first edits the value passed based on the number of entries in the branch table. It needs knows how many entries by reading branch_to points. (It also builds the table while it is reading/counting the number of entries.) The number of entries can easily be over 60 in many of my programs. Tony Thigpen Jon Perryman wrote on 5/3/21 3:06 PM: > AREAD is intended for reading the source file. Although there are > workarounds, I personally avoid them because you can run into problems with > macros that use aread. As you mentioned, SETC to a global variable is a good > option to pass information. > What are the negative issues you encountered with SETC? I've written a lot of > macro's and never had an issue. Sometimes it's more work than I would like > but still manageable. For instance, do you really need AREAD or would > temporarily override opcodes work? > Jon. > On Monday, May 3, 2021, 08:31:25 AM PDT, Tony Thigpen <t...@vse2pdf.com> > wrote: > > I have several macros that use AREAD. But, I tried something this > weekend that I still have not figured out. Maybe someone has a suggestion. > > I also use macros as a way to include large blocks of common code in > programs. I tried to create such a macro from some code that used one of > my macros that used AREAD. I found that the use of AREAD in the > lower-level macro actually read from the 'top level' program source, not > from the source in the 'next-up' macro. > > The doc does indicated that this would happen: > "...from the records in the primary input > stream that follow immediately after the macro instruction." > > So, it looks like the only way to use an AREAD and read from an 'higher > level' macro, would be to have the higher level macro push the info to > be read into the buffer using AINSERT. Not as 'nice'. > > Did I miss some other option? > > (Before you suggest COPY vs. macros for common code, I usually include > parms to the common code. I can re-work that logic using .SETC, etc., > but that has some negative issues I would need to think about before > doing so.) > > > > Tony Thigpen > >