A Structure Block Array occupies a variable number of Stack Cells depending on the number of Declared Dimensions in the Array.
0038 (02,0022) 5 310000 400021 STRUCTUREBLOCKARRAY (Structure block array) Untouched, dope vector template 0037 (02,0021) 5 310000 500020 STRUCTUREBLOCKARRAY.DIM2 (Structure/Connection array dimension) Untouched, dope vector template 0036 (02,0020) 5 320000 00001E STRUCTUREBLOCKARRAY.DIM1 (Structure/Connection array dimension) Untouched, structure block Template 0034 (02,001E) 5 320000 00001D T_STRUCTUREBLOCK (Structure block type) Untouched, structure block template
This is the Declaration for the Structure Block Array above,
Type Structure Block T_StructureBlock; (02,001D) = STRUCTURE BLOCK PCW <span class="lightgreen"> (02,001E) = T_STRUCTUREBLOCK
T_StructureBlock Array StructureBlockArray[0:3,0:4]; (02,0020) = STRUCTURE DESCRIPTOR (02,0021) = STRUCTURE DESCRIPTOR (02,0022) = STRUCTUREBLOCKARRAY
A Structure Block Array uses one Binding Token for each Dimension, and a Structure Block Variable binding token references the Structure Block Type Descriptor item in the Stack. These Binding Tokens are linked by their Stack Displacement.
Tag 5 - UnTouched DataDesc | ||
---|---|---|
Field | Name | Description |
[45:2] | NewAITF | 1'11' |
[42:3] | VariF = UntouchedSzF | MULTI_DIM_VARI = 1 (Non AIT, Multi
Dimension) STRUCT_VARI = 2 |
[39:20] | Untouched_LengthF | The Number of Elements in the Dimension. |
[19:20] | Desc_AddrF | Composite of the fields below containing a pseudo Lexical Address of the Structure Block Type Descriptor or Next Dimension. |
[19:4] | Levels_DownF | This is > 0 when the Structure Block Type Descriptor is at a lower Lex Level |
[15:16] | SIRWDeltaF | Displacement of Structure Block Type Descriptor or Next Dimension |
The method for creating a Structure Block Array is to create a linked list of Binding Tokens,