Tom Marchant writes: <begin snippet> Anything else depends upon programming standards at each shop. For example, when obtaining storage for a save area, do you obtain additional storage for the program to use? How much? How does the macro determine how much? What subpool is used? </end snippet>
raising an important set of issues. Dynamic storage classes---LIFO and non-LIFO, stack and heap, even the terminology varies---are often poorly handled in assembly-language programming because the distinctions among these classes are not understood. Scratch storage for use within a routine should certainly be obtained when save-area storage is obtained, and this single block of storage should almost always be stack- and not heap-based. How to specify how much of this storage is required? Well in assembly-language it should be DSECT-defined; and in statement-level languages it is always DSECT-defined, although this is not always obvious. It would be very agreeable to have some standard terminology for use in writing and talking about these questions, but consensus is going to be elusive. John Gilmore, Ashland, MA 01721 - USA
