IEARBUP allows you to request that the system update the instruction address in the PSW copy in the RB.
The requirements for the caller are:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Supervisor state and PSW key 0. |
Dispatchable unit mode: | Task |
Cross memory mode: | PASN=HASN, any SASN |
AMODE: | 31-bit |
ASC mode: | Primary |
Interrupt status: | Enabled or disabled for I/O and external interrupts |
Locks: | No locks are required. The caller may hold a local lock, the CMS lock or the CPU lock. |
Control parameters: | Control parameters must be in the primary address space. |
The caller must include the CVT and IHAECVT mapping macros.
If the caller holds the CPU lock, the parameter list must be in fixed or DREF storage.
Before issuing the IEARBUP macro, the caller does not have to place any information into any general purpose register (GPR) or access register (AR) unless using it in register notation for a particular parameter, or using it as a base register.
Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.
None.
The IEARBUP macro is written as follows:
Syntax | Description |
---|---|
name | name: symbol. Begin name in column 1. |
␢ | One or more blanks must precede IEARBUP. |
IEARBUP | |
␢ | One or more blanks must follow IEARBUP. |
WHICHRB=CURRENT | |
WHICHRB=PREV | |
WHICHRB=EXPLICIT | |
,RB=xrb | |
FUNCTION=UPDATE | Default: FUNCTION=UPDATE |
,PSWBYTE03=NO | |
,PSWBYTE03=YES | |
,ADDRTYPE=NO_CHANGE | Default: ADDRTYPE=NO_CHANGE |
,ADDRTYPE=INRBOPSWA | |
,ADDRTYPE=ACTUAL | |
,PSWADDR=pswaddr | pswaddr: RS-type address or address in register (2) - (12) |
,AMODE=UNCHANGED | Default: AMODE=UNCHANGED |
,AMODE=24 | |
,AMODE=31 | |
,AMODE=64 | |
,ADDRTYPE=DELTA | |
,PSWDELTA=pswdelta | pswdelta: RS-type address or address in register (2) - (12) |
FUNCTION=EXTRACTPSW | |
,PSWG=xpswg | |
,RETCODE=retcode | retcode: RS-type address or register (2) - (12). |
,RSNCODE=rsncode | rsncode: RS-type address or register (2) - (12). |
,PLISTVER=IMPLIED_VERSION | Default: PLISTVER=IMPLIED_VERSION |
,PLISTVER=MAX | |
,PLISTVER=0 | |
,MF=S | Default: MF=S |
,MF=(L,list addr) | list addr: RS-type address or register (1) - (12) |
,MF=(L,list addr,attr) | |
,MF=(L,list addr,0D) | |
,MF=(E,list addr) | |
,MF=(E,list addr,COMPLETE) | |
The parameters are explained as follows:
To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field.
To code: Specify the RS-type address, or address in register (2)-(12), of an 8-byte field.
To code: Specify the RS-type address of a fullword field, or register (2)-(12).
To code: Specify the RS-type address of a fullword field, or register (2)-(12).
If you can tolerate the size change, IBM® recommends that you always specify PLISTVER=MAX on the list form of the macro. Specifying MAX ensures that the list-form parameter list is always long enough to hold all the parameters you might specify on the execute form, when both are assembled with the same level of the system. In this way, MAX ensures that the parameter list does not overwrite nearby storage.
Macro IEARBUPM provides equate symbols for the return and reason codes.
Table 1 identifies the hexadecimal return and reason codes and the equate symbol associated with each reason code. IBM support personnel may request the entire reason code, including the xxxx value.
Return Code | Reason Code | Equate Symbol, Meaning, and Action |
---|---|---|
0 | — | Equate Symbol: IearbupRc_OK Meaning: Iearbup request successful. |
8 | — | Equate Symbol: IearbupRc_InvParm Meaning: Iearbup request specifies invalid parameters. Action: Refer to the action provided with the specific reason code. |
8 | xxxx0801 | Equate Symbol: IearbupRsnBadVersion Meaning: The version field in the parameter list is not valid. Action: Check for possible storage overlay. |
8 | xxxx0802 | Equate Symbol: IearbupRsnBadAMODEField Meaning: The amode field in the parameter list is not valid. Action: Check for possible storage overlay. |
8 | xxxx0803 | Equate Symbol: IearbupRsnBadAddress Meaning: The address provided is not valid. Action: Only provide an instruction address that is less than X'80000000'. |
C | — | Equate Symbol: IearbupRc_Env Meaning: Environmental error Action: Refer to the action provided with the specific reason code. |
C | xxxx0C01 | Equate Symbol: IearbupRsnPrevRBNotFound Meaning: RB=PREV was requested, but there is only one RB for the current task. Action: Use RB=CURRENT when there is only one RB. |
C | xxxx0C02 | Equate Symbol: IearbupRsnBadAMODE Meaning: AMODE=64 was specified but the architecture level is not z/Architecture. Action: Only request AMODE=64 when the architecture level is z/Architecture. |
IEARBUP ADDRTYPE=ACTUAL,PSWADDR=P,RETCODE=RC,MF=(E,MFL)
...
IEARBUP MF=(L,MFL)
P DS XL8
RC DS F
IEARBUP ADDRTYPE=DELTA,PSWDELTA=PD,RETCODE=RC,MF=(E,MFL)
...
IEARBUP MF=(L,MFL)
PD DC F'-4'
RC DS F