The Segment Dictionary contains references to Code and Data Segments located in either the MCP Stack or the program's CodeFile.
A Compiler constructs a skeleton Segment Dictionary in which each entry contains a Tag Byte, a Flag Byte and a 6 Byte Word Value.
When a program is initiated, the D[1] Stack is created and a Read with Tags of the skeleton Segment Dictionary is performed from the CodeFile to initialize it.
A Dynamic Compiler creates additional Segment Dictionary entries in the D1ADDITION Array passed to the DYN_COMPILER.
On a B6700, the D[1] Stack is limited by the 13 bit SIRWDELTA field to 8191 entries.
On Delta architecture machines, the D[1] Stack is limited by the 16 bit SIRWDELTA field to 65535 entries.
The first Segment Dictionary entry is overwritten by the MCP with the MSCW of the D[1] Stack, and should not be used by a Compiler.
The second entry may contain a Data Descriptor for the Line Dictionary (LineInfo).
The Segment Dictionary is shared between multiple invocations of the same program, and therefore should only contain reentrant Cod and Data.
The compilers typically store Read Only Value Arrays, static Truthsets and TranslateTables in the Segment Dictionary.