gtps1m1rSystem Macros

CFISVC-Find Entry in the Macro Information Tables

Use this system macro to store the address of an entry in the macro decoder table. The entries in this table are used by the macro decoder itself, test tools, and various dump routines.

Each entry is one of the following:

Each macro must be defined with an appropriate call to the CRESVC macro in the IBMSVC or USRSVC macros. The ISV0SV data macro maps the data at the address provided.

Format




REG=Rx
This parameter specifies a general register that, upon return from this macro call, contains the location of the SVC table entry for the requested SVC. R14 is not valid.

SVC
This parameter specifies the location of the halfword SVC or fast link number. Specify one of the following..

addr1
An address.

reg1
A register that contains the SVC number.
Note:
Either the SVC parameter or the SVCX parameter must be coded, but not both.

SVCX=reg3
This parameter is a register containing the address of an SVC expansion. If this parameter is coded, then CFISVC uses the SVC and index number from the expansion, and returns the address of the corresponding macro information table entry. If the expansion is not an SVC expansion, the error path (see the NOTFND parameter) will be taken. If this parameter is coded, SVC and SVC2L cannot be coded. SVCX and REG cannot use the same register. R14 cannot be used in online code, and R2 is not valid for offline code.

SVC2L
This optional parameter contains the location of the halfword index number for the indexed SVC. Specify one of the following:

addr2
An address.

reg2
A register that contains the index number.

NOTFND=addr3
This optional parameter specifies the location where control is transferred if the SVC is not found. If NOTFND is omitted, control is passed to the next sequential instruction (NSI).

Entry Requirements

None.

Return Conditions

Programming Considerations

Examples

CFISVC SVC=EBW040,REG=R5,NOTFND=ERROR

This invocation returns the address in R5 of the macro decoder entry for the SVC specified in ECB location EBW040. If the SVC specified is not found, processing resumes at location ERROR.

CFISVC SVC=EBW040,SVC2L=EBW000,REG=R6

This invocation returns the address in R6 of the macro decoder entry for the SVC specified in ECB location EBW040 and indexed by the halfword residing in ECB location EBW000.

CFISVC SVC=(R3),SVC2L=(R5),REG=R6

This invocation returns the address in R6 for the macro decoder entry specified by the SVC in R3 and indexed by the halfword in register R5.

CFISVC SVCX=R3,REG=R4,NOTFND=ERROR

This invocation returns the address in R4 for the macro decoder entry indicated by the SVC expansion addressed by R3. If there is an error, processing resumes at location ERROR.