BackbuttonStructure Block Arrays

 

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,