CSECTs are restricted to 16MB only if you generate traditional OBJ object files, because its length and address fields are 3 bytes long. As Peter said, the total length in a single assembly will be less than 16M.
*BUT* if you specify the NOTHREAD option you can have as many very larget CSECTs as you like: *PROCESS NOTHREAD A START 0 DS 4095XL4096 B CSECT DS 4095XL4096 C CSECT DS 4095XL4096 D CSECT DS 4095XL4096 END The NOTHREAD option also helps in debugging multi-CSECT assemblies because each CSECT's origin is zero, so you don't have to subtract the non-zero origin(s) HLASM generates if the (default) THREAD option is specified. John Ehrman (------------------ Referenced Note Follows --------------------) Date: Sun, 7 Jun 2009 09:16:40 -0400 From: Peter Relson <rel...@us.ibm.com> <...> >By experiment, I discover that HLASM won't let me create a CSECT >16MiB. It won't let me create a program with multiple CSECTs >totalling >16 MiB(?!) The binder has a restriction of (on the order or) 2G. Obviously HLASM cannot possibly restrict you from combining multiple CSECTs into anything you want, but the binder can. HLASM could have a restriction such as 16M on the cumulative size of CSECTs within a single assemly unit (I have no idea if that is the case) It is the case that a load module cannot exceed 16M. But a program object can. The load module restriction is due to limitations in the PDS directory entry. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html