This demonstrates my point that people treat AREAD too trivially and use it when it's not necessary. Apparently no one really looked at the BRANCH_ON macro which is a production macro. There is an obvious abend or bad branch that the assembler would have diagnosed that AREAD hid.
Tony, you are a good programmer but you ignored what I said. Surely you don't believe GBLC and SETC are complicated. I think you are falling into the Motivated reasoning trap because you want to believe in AREAD so strongly. | | | | Motivated reasoning The processes of motivated reasoning are a type of inferred justification strategy which is used to mitigate cog... | | | > you mentioned earlier something to the effect: "What if the macro > fails due to mis-use? It may cause the assembler to dump." > If you want it > 'safer' just use a lower ACTR value within the macro. Assemble & RUN the following code and tell me it doesn't abend. Don't bother defining the branch label in the program. While I don't have MVS, I'm positive it will assemble with RC=0 and produce an abend (S0Cx - invalid instruction). It should have failed at assembly.pgm ENTER LA R15,0 BRANCH_ON (R15) LBL00 LBL04----------------------- RETURN >Code a replacement macro using your method. You will find that macro >will be much more complicated as how it handles the A&SYSNDX and >C&SYSNDX labels. You now have to use GLBx values to pass information. "GBLC &MYCOMPANY_BRANCH_ON" and "&MYCOMPANY_BRANCH_ON SETC '&SYSNDX'" is not complicated. Anyone who truly finds it complicated should not use AREAD. > BRANCH_ON just makes life simpler in it's current form. How does BRANCH_ON with AREAD make life simpler because I still can't see it? I'm all for simplicity and strongly encourage it. 20 lines to support AREAD (including serious bugs) seems complicated compared to 4 simple SETC/GBLC lines. I've shown that usage is the same. If a single invocation simplifies life, then my previous suggestion using BRTABLE=(LABEL00,LABEL04) would be 4 simple lines. Regards, Jon.
