>>For a location within dynamically obtained storage Paul Gilmartin's >>scheme of using execution-time modulo (congruence) arithmetic is >>inescapable.. > >Unless the GETMAIN or STORAGE OBTAIN specifies BNDRY=PAGE. In >that case the quadword can be defined with DS LQ within your DSECT.
Fortunately, it does not require Houdini to escape the "inescapable" in this case or to avoid getting storage on a boundary more than you need. GETMAIN (and its equivalent STORAGE OBTAIN,LINKAGE=SVC/LINKAGE=BRANCH) and STORAGE OBTAIN (LINKAGE=SYSTEM) have supported STARTBDY since approximately 2000. STARTBDY=4 will get you an area on a quadword boundary. CONTBDY is also supported mostly for cases where you are trying to avoid your area crossing a page boundary. As has been pointed out, assembler does have 0LQ along with SECTALGN. For modules, the system supports only doubleword and page boundary loading, which do not have necessary correlation to the placement of CSECTs within the modules. Peter Relson z/OS Core Technology Design ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
