Entry | |
---|---|
R0 | 0 (reason code) |
R1 | -1 (or new area number 128-255; reserved for internal use) |
R2 | Initial size of area, in bytes |
R3 | -1 (or base of area; reserved for internal use) |
R4 | Area flags |
R5 | Maximum size of area in bytes, or -1 for unlimited (see notes) |
R6 | Handler routine |
R7 | Pointer to workspace for handler, or -1 for base of area |
R8 | Pointer to name of area (limited to 31-chars in 3.80+) |
Exit | |
---|---|
R0 | Preserved |
R1 | Allocated area number |
R2 | Preserved |
R3 | Base of area |
R4 | Preserved |
R5 | Maximum size of area |
R6 | Preserved |
R7 | Preserved |
R8 | Preserved |
The purpose of this call is to create a new dynamic area.
Area numbers allocated are greater than or equal to 256.
The setting R5 as -1 is strongly deprecated due to the problems of address space exhaustion on large memory machines. Also, a maximum size of -1 has no valid meaning for Sparse areas. New code should set the smallest maximum size that is sensible for the use required, because old code may often use -1, a clamp may be set via OS_DynamicArea 8 to limit the problem.