These will be a summary of the Architectural and MCP limits relevant to the ABI.
Limit Description | Limit Value | Comments |
---|---|---|
Maximum Number of String Variables which can be allocated by a Stack. | 500
|
See MCP constant StrAreasMax at 10802700 and GetStringArea at 10813200. This limit does not apply to the elements of String Arrays declared by a program, only the managed String Pool used for allocation and deallocation of String Variables.. |
Maximum Number of D[1] Stack Entries (B6700) | 8191 | On a B6700, the D[1] Stack is limited by the 13 bit SIRWDELTA field. |
Maximum Number of D[1] Stack Entries (LX100) | 65535 | On Delta architecture machines, the D[1] Stack is limited by the 16 bit SIRWDELTA field. |
Maximum Unpaged (LONG) Array (Words) | 65535 | System imposed limit due to 16 Bit Word Index field of Indexed String Descriptor. |
Maximum Direct Array (Words) | 2*20-1
|
From the ALGOL manual: A DIRECT ARRAY declaration can also be used, instead of a LONG ARRAY declaration, to declare an array that is longer than the 65,535 word maximum for a long array. Doing so, however, disables normal system safeguards for array sizing and addressing, and could cause incorrect addressing of that array and data corruption on some system configurations. An Indexed String Descriptor has a 16 Bit Word Index and a 4 Bit Word Index, limiting the addressing to 65525 words. On an A19, when the Word Index was exceeded, it became 0 and the Data at the start of the Array was corrupted by the subsequent data being transferred.. An Indexed Word Descriptor has a 20 Bit Word Index. |
Maximum Unpaged (LONG) Value Array (Words) | 4095 | ALGOL Limit. |
Maximum Paged Value Array (Words) | 32767 | ALGOL Limit. |
Maximum Paged Value Array (Words) | 65535 | DMALGOL Limit. |