Kalpana Kalpana (Editor)

DEC Radix 50

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

RADIX-50, commonly called Rad-50, RAD50 or DEC Squoze, is a character encoding created by Digital Equipment Corporation for use on their DECsystem, PDP, and VAX computers. RADIX-50's 40-character repertoire (050 in octal) can encode six characters plus four additional bits into one 36-bit word (PDP-6, PDP-10/DECsystem-10, DECSYSTEM-20); three characters plus two additional bits into one 18-bit word (PDP-9, PDP-15); or three characters into one 16-bit word (PDP-11, VAX).

Contents

The actual encoding differed between the 36-bit and 16-bit systems.

Etymology

The name "SQUOZE" was borrowed from the scheme used in the SHARE 709 operating system for representing object code symbols; it packed six characters of a 50-character alphabet plus two additional flag bits into one 36-bit word.

36-bit systems

Radix-50 in 36-bit systems was commonly used in symbol tables for assemblers or compilers which supported six-character symbol names. This left four bits to encode properties of the symbol.

Radix-50 was not normally used in 36-bit systems for encoding ordinary character strings; file names were normally encoded as six 6-bit characters, and full ASCII strings as five 7-bit characters and one unused bit per 36-bit word.

18-bit systems

Radix-50 (called Radix 508 format) was used in Digital's 18-bit PDP-9 and PDP-15 computers to store symbols in symbol tables, leaving two extra bits per word ("symbol classification bits").

16-bit systems

Some strings in DEC's 16-bit systems were encoded as 8-bit bytes, while others used Radix-50. In Radix-50, strings were encoded in successive words as needed, with the first character within each word located in the most significant position. For example, using the PDP-11 encoding, the string "ABCDEF", with character values 1, 2, 3, 4, 5, and 6, would be encoded as a word containing the value 1×402 + 2×401 + 3×400 = 1,683, followed by a second word containing the value 4×402 + 5×401 + 6×400 = 6,606. Thus, 16-bit words encoded values ranging from 0 (three spaces) to 63,999 ("999"). When there were fewer than three characters in a word, the last word for the string was padded with trailing spaces.

There were several minor variations of the encoding families. For example, the RT-11 operating system considered the character corresponding to value 011101 to be undefined, and some utility programs used that value to represent the * character instead.

The use of Rad-50 was the source of the filename size conventions used by the PDP-11 operating systems. Using Rad-50 encoding, six characters of a filename could be stored in two 16-bit words, while three more extension (file type) characters could be stored in a third 16-bit word. The period that separated the filename and its extension was implied (i.e., was not stored and always assumed to be present). Rad-50 was also commonly used in the symbol tables of the various PDP-11 programming languages.

References

DEC Radix-50 Wikipedia