The Software Control Word is a Tag 6 Word which is used as a Block Marker.
The Algol Compiler defines the fields below with the BE.. prefix at 10083362,
Tag 6 - SWCW | ||
---|---|---|
Field | Name | Description |
[47:2] | SWCW_TypeF | SW_MarkerV = 2. (BSET 47) |
[45:1] | SW_MarkerF | Block_MarkerV = 0 |
[42:1] | Block_MarkerF | Block_ExitV = 0 |
[44:1] | BEOnGoPastF | Exception Procedure. |
[43:1] | BEGoPastNoDSF | DMAlgol Protected Exception Procedure. |
[26:1] | BEIsolatedF | Isolated Procedure |
[24:1] | BECheckPointF | CheckPoint |
[22:1] | BECBTogF | Structure or Connection Block Declaration |
[21:1] | BEEpilProcF | Epilog Procedure |
[20:1] | BELastChanceF | Processing after being DSED |
[19:1] | BELibTemplateF | Library Template or Directory |
[17:1] | BEBadGoToF | Non Local GOTO |
[16:1] | BEDirectArrayF | Direct Array Declaration |
[15:1] | BEEventF | Event or InterLock Declaration |
[14:1] | BEInterruptF | Interrupt Declaration |
[13:1] | BEFileF | File Declaration |
[12:1] | BE2DimF | Multi Dimension Arrays (ArrayDec Calls) |
[11:1] | BE1DimF | Single Dimension Arrays (Non ArrayDec Calls) |
These Flags are used by BlockExit to determine what types of Objects are included in the Block and therefore should be deallocated.
The MCP Defines these fields in Struct_SWCW at 1022500 and Struct_Block_Exit_Marker at 24502948,
Tag 6 - SWCW | ||
---|---|---|
Field | Name | Description |
47:2] | SWCW_TypeF | SW_MarkerV = 2. (BSET 47) |
45:1] | SW_MarkerF | Block_MarkerV = 0 |
42:1] | Block_MarkerF | Block_ExitV = 0 |
[44:1] | OnGoPastF | On GoPast Procedure in Block. |
[43:1] | GoPastNoDSF | Give Kangaroo protection to GoPast. |
41:1] | DefunctBlockF | Block being BlockExited |
40:13] | BlockStartF | MSCW relative start of partial block. |
[26:1] | IsolatedF | Isolated environment. |
25:1] | CheapBlockF | Cheap Block, Don't turn off RCW BlockExit bit in BlockExit. |
[24:1] | NoCPBitF | Compiler says can't checkpoint. |
23:24] | BlockSearchF | BlockSearch uses these Bits |
23:1] | DBSBlockF | Top DBS Block of ACR Task |
[22:1] | CBTogF | Connection Block Declaration |
21:1] | DBSBlockF | Top DBS Block of ACR Task |
[21:1] | AlgolEpiF | AlgolEpiF = 1 Call Epilog Algol |
[20:1] | PLIEpiF | PLIEpiF = 1 Call Epilog (PL & Statistics) |
[19:1] | LibTemplTogF | Library Template or Directory |
18:1] | FmtBTogF | Format Pseudo Buffer FIB-Locked. |
[17:1] | LabelF | Non Local GOTO |
[16:1] | DirTogF | Direct Array Declaration |
[15:1] | EventTogF | Event Declaration |
[14:1] | IntTogF | Interrupt Declaration |
[13:1] | FileF | File Declaration |
[12:1] | MDTogF | Multi Dimension Array Declaration |
[11:1] | SDTogF | Single Dimension Array Declaration |
10:1] | ProcRefF | Procedure Reference Provider or Owner |
9:1] | ProcessFlagF | Critical Block has Dependent Tasks |
9:10] | LoWorderF | Used by BlockExit |