The OIL macro is used to provide a lock on a byte of storage on which an or immediate (OI) instruction is to be executed. Because the byte of storage exists in a multiprocessing environment, the possibility exists that the byte might be changed by another processor at the same time. Storage modification during OIL processing is accomplished by using the compare and swap (CS) instruction.
For details on the or immediate and compare and swap instructions, see Principles of Operation.
These are the requirements for the caller:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Problem or supervisor state, any key |
Dispatchable unit mode: | Task or SRB |
Cross memory mode: | Any PASN, any HASN, any SASN |
AMODE: | 24- or 31-bit |
ASC mode: | Primary or access register (AR) |
Interrupt status: | None |
Locks: | The caller may hold locks, but is not required to hold any. |
Control parameters: | None |
None.
None.
Before issuing the OIL macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.
When control returns to the caller, the GPRs are unchanged except for the three work registers that are used by the system. If WREGS is not specified, these will be registers 0-2.
None.
The OIL macro is written as follows:
Syntax | Description |
---|---|
name | name: Symbol. Begin name in column 1. |
␢ | One or more blanks must precede OIL. |
OIL | |
␢ | One or more blanks must follow OIL. |
byte addr | byte addr: RX-type address. |
,mask | mask: Symbol or self-defining term. |
,REF=stor addr | stor addr: RX-type address. |
,WREGS=(reg1,reg2,reg3) | reg1: Symbol or decimal digits 0-15. |
,WREGS=(reg1,reg2) | reg2: Symbol or decimal digits 0-15. |
,WREGS=(reg1,,reg3) | reg3: Symbol or decimal digits 0-15. |
,WREGS=(,reg2,reg3) | Default: for reg1: 0 |
,WREGS=(reg1) | Default: for reg2: 1 |
,WREGS=(,reg2) | Default: for reg3: 2 |
,WREGS=(,,reg3) | |
The parameters are explained as follows:
None.
None.
OIL TVNLCS1,TVNLXMET,REF=TVNL