Op Code (Hex) | Operand 1 | Operand 2 | ||
---|---|---|---|---|
ACTBPGM 02CE | Activation defn | Program spec |
Operand 2: System pointer or space pointer data object
Bound program access |
---|
|
The following information is subject to change from release to release. Use it with caution and be prepared to adjust for changes with each new release.
Note |
---|
It is recommended that you use the ACTBPGM2 instruction which supports 8-byte activation and activation group marks. 4-byte marks can wrap and produce unexpected results. |
Activates a bound program or bound service program. The program spec operand specifies the target program to be activated, either directly or indirectly.
If the program spec operand specifies a space pointer, it must locate a 16-byte aligned structure. The format of the structure is different for the ACTBPGM and ACTBPGM2 instructions.
Offset | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||||||
0 | 0 |
| Program |
| System pointer | ||||||||||||
16 | 10 |
| Target activation group |
| UBin(8) | ||||||||||||
16 | 10 |
| Target activation group (Non-Bound program) |
| Char(8) | ||||||||||||
24 | 18 | Options | Char(1) | ||||||||||||||
24 | 18 | Prefer teraspace storage | Bit 0 | ||||||||||||||
| |||||||||||||||||
24 | 18 | Reserved (binary 0) | Bits 1-7 | ||||||||||||||
25 | 19 | Reserved (binary 0) | Char(23) | ||||||||||||||
48 | 30 |
| --- End --- |
|
|
When prefer teraspace storage is no, then the definitions for the ACTBPGM program spec template apply to ACTBPGM2.
For user-state clients, prefer teraspace storage will be ignored and the instruction will execute as though prefer teraspace storage is no.
Offset | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||
0 | 0 |
| Program |
| System pointer | ||||||||
16 | 10 |
| Target activation group |
| UBin(4) | ||||||||
20 | 14 |
| Reserved (binary 0) |
| Char(12) | ||||||||
32 | 20 |
| --- End --- |
|
|
Target activation group is the activation group mark of an existing activation group into which the service program is to be activated. If the activation group does not exist, then the activation group not found (hex 2C13) exception is signaled.
The service program is eligible to be activated into the target activation group if one of the state conditions and one of the storage model conditions hold.
State conditions:
Storage model condition:
If the program spec operand specifies a system pointer, it designates the target program to be activated. The target program must be either a bound program or a bound service program, otherwise invalid operation for program (hex 2C15) exception is signaled.
The program activation operation is discussed in detail in the CALLX instruction.
If the target program adopts its owner's user profile, the effect is as if the target program were the most recent invocation on the call stack. This permits the adopted authority of the owner to be applied for purposes of activating dependent service programs. This adoption policy is in effect for the duration of the ACTBPGM operation.
The activation defn must point to a 16-byte aligned area which receives the activation definition. The format of the structure is different for the ACTBPGM and ACTBPGM2 instructions.
Offset | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||||||
0 | 0 |
| Activation definition |
| Char(48) | ||||||||||||
0 | 0 |
| Activation group mark |
| UBin(8) | ||||||||||||
0 | 0 |
| Activation group mark (Non-Bound program) |
| Char(8) | ||||||||||||
8 | 8 |
| Activation mark |
| UBin(8) | ||||||||||||
8 | 8 |
| Activation mark (Non-Bound program) |
| Char(8) | ||||||||||||
16 | 10 |
| Reserved |
| Char(7) | ||||||||||||
23 | 17 |
| Indicators |
| Char(1) | ||||||||||||
23 | 17 |
| Activation status |
| Bit 0 | ||||||||||||
|
|
|
| ||||||||||||||
23 | 17 |
| Reserved (binary 0) |
| Bits 1-7 | ||||||||||||
24 | 18 |
| Reserved (binary 0) |
| Char(24) | ||||||||||||
48 | 30 |
| --- End --- |
|
|
Offset | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||||||
0 | 0 |
| Activation definition |
| Char(32) | ||||||||||||
0 | 0 |
| Activation group mark |
| UBin(4) | ||||||||||||
4 | 4 |
| Activation mark |
| UBin(4) | ||||||||||||
8 | 8 |
| Reserved |
| Char(7) | ||||||||||||
15 | F |
| Indicators |
| Char(1) | ||||||||||||
15 | F |
| Activation status |
| Bit 0 | ||||||||||||
|
|
|
| ||||||||||||||
15 | F |
| Reserved (binary 0) |
| Bits 1-7 | ||||||||||||
16 | 10 |
| Reserved (binary 0) |
| Char(16) | ||||||||||||
32 | 20 |
| --- End --- |
|
|
where,
The activation group mark identifies the activation group into which the target program was activated.
The activation mark identifies the activation of the program.
The activation status indicates whether the operation created a new activation (=0) or found an existing activation (=1).
06 Addressing
0A Authorization
10 Damage Encountered
1A Lock State
1C Machine-Dependent
20 Machine Support
22 Object Access
24 Pointer Specification
2A Program Creation
2C Program Execution
2E Resource Control Limit
36 Space Management
44 Protection Violation