EXEC Special Variables
&GLOBALn &GLJBALn special variable represents the variables &GLOBALO through &GLOBALg. You can set these variables only to integral numeric values.
Thev are all initially set to 1. Unlike other EXEC variables, these can
be used to communicate between different recursion levels of the EXEC inter preter. &INDEX The &INDEX special variable contains the number of arguments passed to
the EXEC procedure. Since up to 30 arguments can be passed to an EXEC procedure, the value of &INDEX can range from 0 through 30. Although you cannot set this variable explicitly, it is reset by an &ARGS or &READ ARGS control statement. &INDEX can be examined to
determine the number of active arguments in the EXEC procedure.
&LINENUM
The &LINENUM special variable contains the current line number in the EXEC file. You cannot explicitly set this variable but you can examine
and test it.
&READFLAG The &READFLAG special variable contains one of two literal values: CONSOLE or STACK. If there are stacked lines in the terminal input
buffer (console stack) &READFLAG contains the value STA:K and the next
read request results in a line being read from the stack. If not, then
the next read request results in a physical read to the terminal, and
the value of &READFLAG is CONSOLE. You cannot explicitly set this
variable but you can examine and test it.
&RETCODE
The &RErCODE special variable contains the return code from the most
recently executed CMS command. &RETCODE can contain only integral
numeric values (positive or negative), and is set after each CMS command
is executed. You can examine, test, and change this variable but
changing it is not recommended.
&TYPEFLAG
The &TYPEFLAG special variable contains one of two literal values: RT
(resume typing) or fiT (halt typing). It contains the value HT when
terminal display has been suppressed by the Immediate command RT= It
contains the value RT when the terminal is displaying output. You cannot explicitly set this variable, but you can examine and test it. 302 VM/370 CMS Command and Macro Reference
CMS liacros Section 6. eMS Macro I nstructi ons se=tion describes the formats of the assembler language macros,
which you can use when you write assembler language programs to execute
in the CMS environment. To assemble a program using any of these
macros, you must issue the GLOBAL command specifying CMSLIB MACLIB,
which is the macro library (located on the system disk) which contains CMS macros. For functional descriptions and usage examples of the eMS macros, see
the Coding conventions for
assembler language macros.
operands in the format:
[,operandl CMS macros are the same as
The macro format descriptions
th.ose for all
show optional
indicating that if you are going to use this operand, it must be
preceded by a comma (unless it is the first operand coded). If a macro
statement overflows to a second line, you must use a continuation
character in column 72. No blanks may appear between operands.
Incorrect coding of any macro results in assembler errors and MNOTEs. Where applicable, the end of a macro description contains a list of
the possible error conditions that may occur during the execution of the
macro, and the associated return codes. Th.ese return codes are always
placed in register 15. The macros that produce these return codes have ERROR= operands, that allow you to specify the address of an error
handling routine, so that you can check for particular errors during
macro processing. If an error occurs during macro processing and no
error address is provided, execution continues at the next sequential
instruction following the macro.
Section 6. CMS Macro Instructions 303
Previous Page Next Page