Section 3
Processors for variable-length-string data
Although only two computers are described in this section, the reader might refer to other computers in the book which handle variable-length strings. The IBM System /360 processes a string whose length is specified in the instruction. The Burroughs B 5000 has a very nice string data ISP (both simple and powerful).
Variable-length strings imply some method to specify at instruction execution time the actual length of the character strings being processed. Which method is used has a substantial effect on the ISP of the resulting machine, and it is noteworthy that a wide variety of devices has been tried without any apparent consensus yet on the appropriate mechanism:
1 An extra bit in each character to mark the string boundary (IBM 1401)
2 A special terminal character to mark the string boundary (IBM 702)
3 A field variable in the instruction to specify the string length (IBM System/360)
4 A register variable in the processor to specify the string length (an 8-bit-character computer-Chap. 10)
5 A fixed number of characters at the head of the string to specify the length (and data type) of the string (used extensively for variable-length records on tape and disk, though we know of no ISP that uses it)
The IBM 1401
The 1401 was IBM's most popular computer, measured by quantity produced, prior to the 1130/1800 and System/360. However, the authors of this book were unable to find any technical papers on its design or design philosophy. The 1401 is based on earlier business-oriented computers (Fig. 1, page 225). It evolved a great deal, as can be seen from the number of "features" which can be appended to improve it. Successors, the 1440 and 1460, are also improvements. It is assumed that early computers mainly influence successor computers within the same organization.
An 8-bit-character computer
An 8-bit-character computer (Chap. 10) has been suggested by the authors. It is a very restricted computer for processing string data and illustrates another approach to string definitions; the string length is specified by a variable in the processor.
224