On 2017-03-17, at 12:22, Farley, Peter x23353 wrote:

> Thanks John, that does look like it would work, though it does still require 
> adding that last "MACINIT LOCCTR" statement manually at the end of the 
> program code and data.
> 
> But if I have to manually place a statement at the end of the program anyway 
> it may as well be a MACDATA macro that just defines all the data areas there.
>  
John has explained how this may (usually) be unnecessary.

Be alert that LOCTR sections are finally generated at addresses
in the ofder of the first occurrence of the LOCTR name.  You may
need to add dummy LOCTRs to control this order.  Some programmers
have complained that this can make macros less modular.

(How does LOCTR affect legibility of dumps?  Should there be an
RFE to generate SYSPRINT in address order, despite use of CSECT
and LOCTR?)

> Now if the assembler had a CSECT length value I could safely use, an "ORG 
> csect_name+csect_length" inside of MACINIT in front of the data definitions 
> would take care of the problem for me, with a blank "ORG" to return to the 
> in-line code.
>  
You could do this with a LOCTR, an EQU, and a LOCTR to get back.

-- gil

Reply via email to