HLASM Programmer's Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


External function parameter list

HLASM Programmer's Guide
SC26-4941-06

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 1 shows the SETAF parameter list, and Figure 2 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.
Figure 1. SETAF external function parameter list format
                                                                      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)  │
                     └───────────────────────┘                       └─────────────────────────┘
Figure 2. SETCF external function parameter list format
                                                                      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:

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014