Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!elroy.jpl.nasa.gov!decwrl!ucbvax!USCMVSA.BITNET!LDW From: LDW@USCMVSA.BITNET (Leonard D Woren) Newsgroups: comp.lang.asm370 Subject: Re: execute / list forms of MVS system macros Message-ID: <9104121036.AA13749@ucbvax.Berkeley.EDU> Date: 12 Apr 91 10:34:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: IBM 370 Assembly Programming Discussion List Distribution: inet Organization: The Internet Lines: 25 On Thu, 11 Apr 91 07:48:00 EDT, "Stephen E. Bacher" said: > (good explanation removed for brevity) > The catch is that for truly reentrant code, you've often got to code > the LIST form twice: ... > > In your static data section: > > STATIC_FOO FOOMAC FOO=1,BAR=2,MF=L > FOO_LENGTH EQU *-STATIC_FOO > > In your dynamic (DSECT) data section: > > DYNAMIC_FOO FOOMAC FOO=1,BAR=2,MF=L I often avoid coding the MF=L twice like this: DS 0F DYNAMIC_FOO DS XL(FOO_LENGTH) Of course, this only works if you put your DSECTs at the end of the program (after the DCs.) Yet another reason why I hate CICS -- they put all the DSECT clutter at the beginning. /Leonard