A maximum of five arguments are available to the external function, and are passed to it as shown in the following table.
Direction |
Datatype |
Argument |
Input only |
num |
Integer value |
Input only |
char |
Address of string |
Input only |
date |
Address of string |
Input only |
time |
Address of string |
Input only |
phrase |
Phrase, tag, or integer value |
Output or both |
num |
Address of integer |
Output or both |
char |
Address of string |
Output or both |
date |
Address of string |
Output or both |
time |
Address of string |
For char, time, and date fields, the address of the field is passed as an integer. For numeric arguments, the value is passed as an integer if the direction is input, but the address of the field is passed if the direction is output or both. Argument 1 is in register 3 (r.3), argument 2 in register 2 (r.2), and argument 3 to 5 are in the fields, F_ _FUNCT_ARG3, F_ _FUNCT_ARG4, and F_ _FUNCT_ARG5, respectively. For phrase arguments, either a phrase tag or a phrase number may be passed to the external function. In either case, the phrase datatype is treated as an integer and can be played using the talk script instruction or other instructions that allow an integer.