RADIX 50 [1] [2] o RAD50 [2] (también conocido como RADIX50 , [3] RADIX-50 [4] o RAD-50 ), es una codificación de caracteres solo en mayúsculas creada por Digital Equipment Corporation (DEC) para usar en sus computadoras DECsystem , PDP y VAX .
El repertorio de 40 caracteres de RADIX 50 (050 en octal ) puede codificar seis caracteres más cuatro bits adicionales en una palabra de máquina de 36 bits ( PDP-6 , PDP-10 / DECsystem-10, DECSYSTEM-20 ), tres caracteres más dos bits adicionales en una palabra de 18 bits ( PDP-9 , [1] PDP-15 ), [5] o tres caracteres en una palabra de 16 bits ( PDP-11 , VAX). [2]
La codificación real difiere entre los sistemas de 36 y 16 bits.
Sistemas de 36 bits
En los sistemas DEC de 36 bits, RADIX 50 se usaba comúnmente en tablas de símbolos para ensambladores o compiladores que admitían nombres de símbolos de seis caracteres de un alfabeto de 40 caracteres. Esto dejó cuatro bits para codificar las propiedades del símbolo.
Por sus similitudes con la SQUOZE esquema de codificación utilizado en IBM 's Sistema Operativo COMPARTIR para la representación de símbolos de código objeto, variante de DEC era también llamado a veces diciembre Squoze , [6] sin embargo, IBM SQUOZE embalan seis caracteres de un alfabeto de 50 caracteres, más dos adicionales banderas de bits en una palabra de 36 bits. [5]
RADIX 50 no se usaba normalmente en sistemas de 36 bits para codificar cadenas de caracteres normales; los nombres de archivo se codificaban normalmente como seis caracteres de seis bits y las cadenas ASCII completas como cinco caracteres de siete bits y un bit no utilizado por palabra de 36 bits.
Bits más significativos | Partes menos significativas | |||||||
---|---|---|---|---|---|---|---|---|
000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | |
000 | espacio | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
001 | 7 | 8 | 9 | A | B | C | D | mi |
010 | F | GRAMO | H | I | J | K | L | METRO |
011 | norte | O | PAG | Q | R | S | T | U |
100 | V | W | X | Y | Z | . | PS | % |
Sistemas de 18 bits
RADIX 50 (también llamado formato Radix 50 8 [1] ) se utilizó en las computadoras PDP-9 y PDP-15 de 18 bits de Digital para almacenar símbolos en tablas de símbolos, dejando dos bits adicionales por palabra de 18 bits ("bits de clasificación de símbolos" ). [1]
Sistemas de 16 bits
Algunas cadenas en los sistemas de 16 bits de DEC se codificaron como bytes de 8 bits, mientras que otras usaron RADIX 50 (entonces también llamado MOD40 ). [2] [7]
En RADIX 50, las cadenas se codificaron en palabras sucesivas según fuera necesario, con el primer carácter dentro de cada palabra ubicado en la posición más significativa.
Por ejemplo, utilizando la codificación PDP-11, la cadena "ABCDEF", con valores de caracteres 1, 2, 3, 4, 5 y 6, se codificaría como una palabra que contiene el valor 1 × 40 2 + 2 × 40 1 + 3 × 40 0 =1683 , seguido de una segunda palabra que contiene el valor 4 × 40 2 + 5 × 40 1 + 6 × 40 0 =6606 . Por tanto, las palabras de 16 bits codifican valores que van desde 0 (tres espacios) hasta63 999 ("999"). Cuando había menos de tres caracteres en una palabra, la última palabra de la cadena se rellenaba con espacios al final. [2]
Hubo varias variaciones menores de esta codificación. Por ejemplo, el sistema operativo RT-11 consideró que el carácter correspondiente al valor 011101
( %
) no estaba definido, [2] y algunos programas de utilidad utilizaron ese valor para representar el *
carácter en su lugar.
El uso de RADIX 50 fue la fuente de las convenciones de tamaño de nombre de archivo utilizadas por los sistemas operativos PDP-11 de Digital Equipment Corporation . Con la codificación RADIX 50, se pueden almacenar seis caracteres de un nombre de archivo en dos palabras de 16 bits, mientras que tres caracteres de extensión (tipo de archivo) más se pueden almacenar en una tercera palabra de 16 bits. El período que separaba el nombre del archivo y su extensión estaba implícito (es decir, no se almacenó y siempre se asumió que estaba presente). RADIX 50 también se usó comúnmente en las tablas de símbolos de los diversos lenguajes de programación PDP-11 .
Bits más significativos | Partes menos significativas | |||||||
---|---|---|---|---|---|---|---|---|
000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | |
000 | espacio | A | B | C | D | mi | F | GRAMO |
001 | H | I | J | K | L | METRO | norte | O |
010 | PAG | Q | R | S | T | U | V | W |
011 | X | Y | Z | PS | . | % | 0 | 1 |
100 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Ver también
- BCD empaquetado
- Codificación Hertz
- Codificación Chen – Ho
- Decimal densamente empaquetado (DPD)
- Código de caracteres de seis bits
- Base 40
- Conversión base
- Octal dividido
Referencias
- ^ a b c d "Apéndice 1". Programas de utilidad PDP-9 - Sistema de software avanzado - Manual de referencia del programador (PDF) . Maynard, Massachusetts, Estados Unidos: Digital Equipment Corporation . 1968. Orden No. DEC-9A-GUAB-D. Archivado (PDF) desde el original el 4 de junio de 2020 . Consultado el 4 de junio de 2020 .
- ^ a b c d e f g "8.10 .RAD50". Ensamblador PAL-11R - Manual del programador - Lenguaje ensamblador de programa y ensamblador reubicable para el sistema operativo de disco (segunda edición revisada). Maynard, Massachusetts, Estados Unidos: Digital Equipment Corporation . Mayo de 1971 [febrero de 1971]. pag. 8-8. DIC-11-ASDB-D . Consultado el 18 de junio de 2020 . pag. 8-8:
[…] Los programas de sistemas PDP-11 a menudo manejan símbolos en una forma codificada especialmente llamada RADIX 50 (esta forma a veces se conoce como MOD40). Este formulario permite empaquetar 3 caracteres en 16 bits; por lo tanto, cualquier símbolo de 6 caracteres se puede contener en dos palabras. El operando único tiene el formato / CCC / donde la barra (el delimitador) puede ser cualquier carácter imprimible excepto = y:. Los delimitadores encierran los caracteres que se convertirán, que pueden ser de la A a la Z, del 0 al 9, dólar ($), punto (.) Y espacio (). Si hay menos de 3 caracteres, se considera que están justificados a la izquierda y se asumen los espacios finales. […] El algoritmo de empaquetamiento es el siguiente: […] A. Cada carácter se traduce a su equivalente RADIX 50 como se indica en la siguiente tabla: Carácter - Equivalente RADIX 50 (octal): (espacio) - 0, A – Z - 1–32, $ - 33,. - 34, 0–9 - 36–47. Tenga en cuenta que se podría definir otro carácter para el código 35. […] B. Los equivalentes de RADIX 50 para los caracteres 1 a 3 (C1, C2, C3) se combinan de la siguiente manera: RESULTADO = ((C1 * 50) + C2) * 50 + C3 […]
[1] - ^ a b Durda IV., Frank (2004). "Referencia de código de caracteres RADIX50" . Archivado desde el original el 31 de marzo de 2005 . Consultado el 31 de marzo de 2005 .
- ^ a b "Apéndice B.3: Constantes Radix-50 y juego de caracteres". Manual de referencia de idiomas de Compaq Fortran 77 . Compaq Computer Corporation . 1999. Archivado desde el original el 14 de octubre de 2012 . Consultado el 14 de octubre de 2012 .
- ^ a b Jones, Douglas W. (2018). "Lección 7, Códigos de objeto, cargadores y enlazadores - Pasos finales en el camino hacia el código de máquina" . Sistemas operativos, primavera de 2018 . Parte de la colección de sistemas operativos CS: 3620. Departamento de Ciencias de la Computación, Universidad de Iowa . Archivado desde el original el 6 de junio de 2020 . Consultado el 6 de junio de 2020 .
- ^ Murrell, Stephen J. (2005). "Códigos de caracteres DEC / PDP" . conejo.eng.miami.edu . Universidad de Miami . Tabla de caracteres DEC Squoze. Archivado desde el original el 19 de junio de 2020 . Consultado el 19 de junio de 2020 .
- ^ PDP-11 Poniendo DOS en el aire (1 ed.). Maynard, Massachusetts, Estados Unidos: Digital Equipment Corporation . Agosto de 1971. DEC-11-SYDC-D . Consultado el 18 de junio de 2020 . [2]
Otras lecturas
- Williams, Al (22 de noviembre de 2016). "Squoze tus datos" . Hackaday . Archivado desde el original el 6 de junio de 2020 . Consultado el 6 de junio de 2020 .
enlaces externos
- https://github.com/turbo/ptt-its/blob/master/doc/info/midas.25