Syntax
procedure_description has this syntax:
[[language_modifier] language] [distance] [argument_list]
language_modifier (temporarily overrides the default set with the MODEL
directive) indicates interface with Windows or the VROOM overlay
manager. Valid modifiers are NORMAL, WINDOWS, ODDNEAR, and ODDFAR.
language (temporarily overrides the default set with the MODEL
directive) specifies which language you will be interfacing to:
NOLANGUAGE (assembler), BASIC, C, CPP (C++), FORTRAN, PASCAL, or
PROLOG (in procedure declaration statements also: STDCALL and SYSCALL).
distance (temporarily overrides the default set with the MODEL
directive) can be NEAR or FAR
argument_list has this syntax:
argument [,argument] ...
argument has this syntax:
[argname] [[count1]] :complex_type [:count2]
complex_type is the data type of the argument. It can be either a
simple type or a complex pointer expression. If complex_type is not
specified, TASM assumes WORD for 16-bit models, DWORD for 32-bit
models) See Address subtypes
count1 is an array element size multiplier. The total space reserved
for the argument is count2 times the size specified by complex_type times
count1 (count1 defaults to one).
count2 specifies the total count of the argument. For TASM 3.2 or
later, you can specify count2 using the ? keyword to indicate that a
variable number of arguments are passed. ? must be used as the last item
in the argument list; also you can use ? only in procedures that
support variable-length arguments (such as procedures that use the C
calling conventions).