ARGDEF - define function arguments.

Usage:

argdef    (symbols)[,size[,<alignment>]]
<alignment> := EVEN | ODD

Examples:

argdef     (unit,format),1
argdef     (aq),2,even
argdef     buff,20

Where:

symbols
is a list of the desired names of the arguments to the function. The names must be valid GMAP symbols. If "symbols" has only one element, the element need not be enclosed in parentheses. Each symbol will be defined as a stack offset.
size
gives the amount of space on the stack to be reserved for each argument. If "size" is not specified it defaults to one.
<alignment>
is used to align the arguments on an odd or even boundary. If it is used, it must consist of either the character string EVEN or ODD. If it is not given, the next available location is used.

Description:

ARGDEF is used to give symbol names to offsets into the stack for the subroutine to receive its arguments. It is permissible to use several ARGDEF macro calls. ARGDEF should not be used to reserve space for local variables; the AUTO macro should be used instead.

Approximate equivalent code generated:

*      argdef   arg,4
arg    set      .aut
.aut   set      .aut+4
.lcl   set      .aut+S.LENG
.lcl   set      .lcl/2*2
ARG.1  set      .lcl+1
ARG.2  set      .lcl+2
...
ARG.5  set      .lcl+5

See Also:

expl b bmac auto
define local storage

Copyright © 1996, Thinkage Ltd.