The assembler passes a parameter list to the external function module. Register 1 points to the parameter list, and macro ASMAEFNP maps the parameter list. Figure 27 shows the SETAF parameter list, and Figure 28 shows the SETCF parameter list. A separate copy of the external function parameter list is passed to each external function. The sections following the figures describe each of the parameters in detail.
0 31
*-------------------------*
*--------------->| Parameter List Version |
| *-------------------------*
| | Function Type |
| *-------------------------*
| | Number of Parameters |
| *-------------------------*
| | Return Code |
| *-------------------------*
| | Flag byte |
| *-------------------------*
| | Reserved |
| *------------*------------*
| | Msg Length |Msg Severity|
| *------------*------------*
| | Return Value |
| *-------------------------*
| | Parm Value 1 |
| *-------------------------*
| | Parm Value 2 |
| *-------------------------*
| | . |
| | . |
| | . |
| *-------------------------*
| | Parm Value n |
| *-------------------------*
0 31 |
*------------* *-----------------------* |
| Register 1 *---->| Ptr to Request Info *------*
*------------* *-----------------------* *-------------------------*
| Ptr to User Work Area *---------------------->| User Work Area 32 Bytes |
*-----------------------* *-------------------------*
| Ptr to Static | *-------------------------*
| Assembler Information *---------------------->| Static Assembler Info. |
*-----------------------* *-------------------------*
| Reserved |
*-----------------------* *-------------------------*
| Ptr to Msg Buffer *---------------------->| Msg Buffer (255 Bytes) |
*-----------------------* *-------------------------*
0 31
*-------------------------*
*--------------->| Parameter List Version |
| *-------------------------*
| | Function Type |
| *-------------------------*
| | Number of Parameters |
| *-------------------------*
| | Return Code |
| *-------------------------*
| | Flag byte |
| *-------------------------*
| | Reserved |
| *------------*------------*
| | Msg Length |Msg Severity|
| *------------*------------*
| | Return String Length |
| *-------------------------*
| | Parm String 1 Length |
| *-------------------------*
| | Parm String 2 Length |
| *-------------------------*
| | . |
| | . |
| | . |
| *-------------------------*
| | Parm String n Length |
| *-------------------------*
0 31 |
*------------* *-----------------------* |
| Register 1 *---->| Ptr to Request Info *------*
*------------* *-----------------------* *-------------------------*
| Ptr to User Work Area *---------------------->| User Work Area 32 Bytes |
*-----------------------* *-------------------------*
| Ptr to Static | *-------------------------*
| Assembler Information *---------------------->| Static Assembler Info. |
*-----------------------* *-------------------------*
| Reserved | *-------------------------*
*-----------------------* *----------->|Msg Buffer (255 Bytes) |
| Ptr to Msg Buffer *----------* *-------------------------*
*-----------------------* *-------------------------*
| Ptr to Return String *---------------------->|Return Str. (1024 Bytes) |
*-----------------------* *-------------------------*
| Ptr to Parm String 1 *----------* *-------------------------*
*-----------------------* *----------->|Parm Str. 1 (1024 Bytes) |
| Ptr to Parm String 2 *----------* *-------------------------*
*-----------------------* | *-------------------------*
| . | *----------->|Parm Str. 2 (1024 Bytes) |
| . | *-------------------------*
| . | .
| . | .
| . |
*-----------------------* *-------------------------*
| Ptr to Parm String n *---------------------->|Parm Str. n (1024 Bytes) |
*-----------------------* *-------------------------*The external function parameter list consists of the following addresses:
[ Top of Page | Previous Page | Next Page | Contents | Index ]