BackbuttonString Pool

 

The String Pool is a Read Only, Word indexed Array created by the Algol Compiler to contain constant string values.

		(01,0004) = POOL DATA DESCRIPTOR    

 	000C (01,0004)  5 080000 C40004  Desc: Untouched, Length=12, Readonly (Codefile address=4)

 	000B (01,0004)  C A80000 001DD9 Desc: Present-mom, ASD=00EECD, Length=12, Readonly 

Each string in the String Pool starts on a Word boundary, and the com piler generates a word index for each logical string.

		0003:0004:5  LT8   7            B207     
		0003:0005:1  NAMC  (01,0004)    6004     
		0003:0005:3  INDX               A6 

The compiler modifies the generated descriptor size when indexing a Hex String constant.

		0003:0002:4  LT8   4            B204     
		0003:0003:0  NAMC  (01,0004)    6004     
		0003:0003:2  INDX               A6 
		0003:0003:3  SE4C               95A0     

This code sequence was generated by the Algol Compiler. It references a 25 character Ebcdic String which is located at Word 7 in the String Pool.

		Display("This message is displayed"); 
		(01,0005) = DISPLAY     
       		0003:0004:2  MKSN               DF 
       		0003:0004:3  NAMC  (01,0005)    6005
       		0003:0004:5  LT8   7            B207     
       		0003:0005:1  NAMC  (01,0004)    6004     
       		0003:0005:3  INDX               A6 
       		0003:0005:4  LT8   25           B219     
       		0003:0006:0  BSET  46           962E     
       		0003:0006:2  EXCH               B6 
       		0003:0006:3  ENTR               AB 

A String Pool contains single precision words which contain the string characters. When the absent MOM descriptor for the String Pool is touched, the data is read in from the codefile and stored in an array of single precision (Tag 0) words.

The String Pool can probably be segmented in the same way as a Segmented Value Array.