DEC RADIX 50
| Industry | Computer hardware, software |
|---|---|
| Founded | 1957 |
| Founder | Ken Olsen, Harlan Anderson |
| Headquarters | Maynard, Massachusetts , United States |
| Products | Computers, character encoding schemes (e.g. RADIX 50) |
RADIX 50[1][2][3] or RAD50[3] (also referred to as RADIX50,[4] RADIX-50[5] or RAD-50), represents an uppercase-only character encoding scheme created by Digital Equipment Corporation (DEC) for use on their DECsystem, PDP, and VAX computer lines.
The RADIX 50 character set consists of 40 symbols (050 in octal) and encodes six characters plus four additional bits into a single 36-bit machine word on systems such as the PDP-6, PDP-10/DECsystem-10, and DECSYSTEM-20. On machines with an 18-bit word, like the PDP-9,[2] and PDP-15,[6] it encodes three characters plus two extra bits per word. For 16-bit word architectures such as the PDP-11 and VAX, it packs three characters into each word.[3]
The implementation of this encoding differs between 36-bit and 16-bit platforms.
36-bit systems
Within 36-bit DEC architectures, RADIX 50 was predominantly utilized in symbol tables for assemblers and compilers, enabling six-character symbol identifiers derived from a 40-character alphabet while reserving four bits for symbol attribute flags.
Because of its resemblance to the SQUOZE encoding employed by IBM's SHARE Operating System for object code symbols, DEC's variant was occasionally termed DEC Squoze,[7] though IBM's SQUOZE packed six characters along with two flag bits into one 36-bit word.[6]
RADIX 50 was typically not applied to general strings on 36-bit platforms; instead, filenames used six six-bit characters per word, and complete ASCII strings were stored as five seven-bit characters plus one unused bit within each 36-bit word.
| Most significant bits |
Least significant bits | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 000 | space | 0 | 1 | 2 | 3 | 4 | 5 | 6 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 001 | 7 | 8 | 9 | A | B | C | D | E | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 010 | F | G | H | I | J | K | L | M | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 011 | N | O | P | Q | R | S | T | U | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 100 | V | W | X | Y | Z | . | $ | % |
} 18-bit systemsRADIX 50, also known as Radix 508, was implemented in Digital Equipment Corporation's 18-bit PDP-9 and PDP-15 machines to encode symbols within symbol tables. This approach left two bits unused in each 18-bit word, which were then available for categorizing symbols.[2] 16-bit systemsWithin DEC's 16-bit architectures, some character strings were represented as 8-bit bytes, whereas others utilized RADIX 50 (often referred to as MOD40).[3][8] RADIX 50 encoded characters across consecutive words, placing the initial character in the highest-order position. For instance, on the PDP-11, the string "ABCDEF" (characters one through six) would be stored in two words: the first word calculated as 1×40² + 2×40 + 3 = 1683, and the second as 4×40² + 5×40 + 6 = 6606. Consequently, each 16-bit word could represent values ranging from 0 (three spaces) up to 63999 ("999"). Strings shorter than three characters were padded with spaces at the end.[3] There were slight differences in how code points 27 through 29 were interpreted. For filenames recorded on storage media, these codes corresponded to the characters , , and , which appeared in directory listings such as DIR.[9] In contrast, within PDP-11 assemblers and programming languages, these same code points stood for , , and , respectively, and were used in symbol tables. Early documentation for RT-11 did not define code point 29.[3] The RADIX 50 scheme shaped filename conventions in Digital Equipment Corporation's PDP-11 operating systems. Six characters of a filename were packed into two 16-bit words, while three characters of an extension occupied a third word. Device identifiers such as "DL1" fit entirely within a single word. The period separating filename and extension, along with the colon dividing device name from filename, were implied by context rather than explicitly stored.
See also
Further reading
External links |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- ↑ 1.0 1.1 Cite error: Invalid
<ref>tag; no text was provided for refs namedDEC_1965_PDP-6 - ↑ 2.0 2.1 2.2 Cite error: Invalid
<ref>tag; no text was provided for refs namedDEC_1968_PDP-9 - ↑ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 Cite error: Invalid
<ref>tag; no text was provided for refs namedDEC_1971_PAL-11R - ↑ 4.0 4.1 Cite error: Invalid
<ref>tag; no text was provided for refs namedDurda_2004 - ↑ 5.0 5.1 Cite error: Invalid
<ref>tag; no text was provided for refs namedCompaq_1999_Fortran-77 - ↑ 6.0 6.1 Cite error: Invalid
<ref>tag; no text was provided for refs namedJones_2018 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedMurrell_2005 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedDEC_1971_PDP11 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedRT11_Radix50_Demo