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