Lindy Mayfield's question about how to do a COBOL redefines [or a
FORTRAN equivalence] in assembly language prompted Tom Marchant's
laconic response

|  ORG

which is elegant and entirely correct.  An innocuous because obsolete
example may nevertheless be helpful in illustrating its use.

AMODE(24) PL/I used x'FF000000' to represent nul; the binder sets
unresolved weak external addresses to x'00000000'; and this conflict
led me often to use
 --------------------notional location of column
72--------------------------------->|
         macro
         WXTRNULL &wxtrn=,        --weak external reference
            *
               &label=,                        --required label for it
.*
.*  generates a weak external reference and storage for its address.
.*  sets the value of that address equal to a PL/I  null, which null value
.*  is overridden by the linkage editor or binder iff this weak external
.*  reference is in fact resolved.
.*
         WXTRN &wxtrn
&label   DC    V(&wxtrn)
         org   &label
         DC    x'FF000000'        --pl/I null
         org
         mexit
         mend

in generating tables that were to be accessed from PL/I.  (More
extensive commenting, bullet proofing, and the like have been deleted
from this macro definition.)


John Gilmore, Ashland, MA 01721 - USA

Reply via email to