Introduced in the 1977 ANSI M[UMPS] language standard
The value of this variable is an implementation-specific measure for the amount of storage that is available for the manipulation of local variables.
IF $STORAGE<500 WRITE !,"Now",$STORAGE," left."
Assume that the following subroutine is available for execution:
X WRITE !,"Before NEW command: ",$STORAGE NEW A,B,C WRITE !,"After NEW command: ",$STORAGE SET A=1,B=2,C=3 WRITE !,"After SET command: ",$STORAGE SET LEVEL=LEVEL+1 IF LEVEL<6 DO X QUIT
Then, the commands
SET LEVEL=0 WRITE "Start: ",$STORAGE
DO X
will produce (note that these changes are implementation-specific):
Start: 153536 Before NEW command: 153456 Change is 80 After NEW command: 153360 Change is 96 After SET command: 153168 Change is 192 Before NEW command: 153168 Change is 0 After NEW command: 153120 Change is 48 After SET command: 152928 Change is 192 Before NEW command: 152928 Change is 0 After NEW command: 152880 Change is 48 After SET command: 152688 Change is 192 Before NEW command: 152688 Change is 0 After NEW command: 152640 Change is 48 After SET command: 152448 Change is 192 Before NEW command: 152448 Change is 0 After NEW command: 152400 Change is 48 After SET command: 152208 Change is 192 Before NEW command: 152208 Change is 0 After NEW command: 152160 Change is 48 After SET command: 151968 Change is 192Keep in mind that every NEW command creates a new environment for one or more variables. Although the old environment for those variables may be temporarily hidden, that environment still consumes space in the memory allocated to local variable storage.
This document is © Ed de Moel, 1995-2005.
It is part of a book by Ed de Moel that is published under the
title "M[UMPS] by Example" (ISBN 0-918118-42-5).
Printed copies of the book are no longer available.
This document describes the various special variables that are defined in the M[UMPS] language standard (ANSI X11.1, ISO 11756).
The information in this document is NOT authoritative
and subject to be modified at any moment.
Please consult the appropriate (draft) language standard for an
authoritative definition.
In this document, information is included that will
appear in
future standards.
The MDC cannot guarantee that these 'next'
standards will indeed appear.