A Structure Block Variable Declaration occupies 1 Stack Cell. It references a Structure Block Type Descriptor.
0035 (02,001F) 5 320000 00001E STRUCTUREBLOCK (Structure block) Untouched, structure block template 0034 (02,001E)5 320000 00001D T_STRUCTUREBLOCK (Structure block type) Untouched, structure block template 0033 (02,001D)7 E00594 301DF6 T_STRUCTUREBLOCK.PCW (Structure/Connection block PCW) ASD=00EFB7, LL=3, Segment @ 0003:002C:5, Normal state
The special binding token for the Structure Block Variable is the same as that used for the Structure Block Type Descriptor and is defined in the MCP at 4217288 as STRUCTDESC with this layout.
A Structure Block Variable binding token references the Structure Block Type Descriptor item in the Stack.
Tag 5 - UnTouched DataDesc | ||
---|---|---|
Field | Name | Description |
[45:2] | NewAITF | 1'11' |
[42:3] | VariF = UntouchedSzF | STRUCT_VARI = 2 |
[19:20] | Desc_AddrF | Composite of the fields below containing a pseudo Lexical Address of the Structure Block Type Descriptor. |
[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 |
When the Structure Block Variable is touched, the Binding Token causes a TBIT Interrupt. The MCP function Erector at 4988185 is called to build the Structure Block Variable using the Structure Block Type Descriptor referenced by the Desc_AddrF field.