stringtranslate.com

DEC RADIO 50

RADIX 50 [1] [2] [3] o RAD50 [3] (también conocido como RADIX50 , [4] RADIX-50 [5] o RAD-50 ), es una codificación de caracteres en mayúsculas creada por Digital Equipment Corporation (DEC) para su uso 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 , [2] PDP-15 ), [6] o tres caracteres en una palabra de 16 bits ( PDP-11 , VAX). [3]

La codificación real difiere entre los sistemas de 36 bits y de 16 bits.

Sistemas de 36 bits

En los sistemas DEC de 36 bits, RADIX 50 se utilizaba habitualmente 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 dejaba cuatro bits para codificar las propiedades del símbolo.

Por sus similitudes con el esquema de codificación de caracteres SQUOZE utilizado en el sistema operativo SHARE de IBM para representar símbolos de código objeto, la variante de DEC también se llamó a veces DEC Squoze , [7] sin embargo, IBM SQUOZE empaquetó seis caracteres de un alfabeto de 50 caracteres más dos bits de bandera adicionales en una palabra de 36 bits. [6]

RADIX 50 normalmente no se utilizaba en sistemas de 36 bits para codificar cadenas de caracteres normales; los nombres de archivos normalmente se codificaban como seis caracteres de seis bits y las cadenas ASCII completas como cinco caracteres de siete bits y un bit sin utilizar por palabra de 36 bits.

Sistemas de 18 bits

RADIX 50 (también llamado formato Radix 50 8 [2] ) 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"). [2]

Sistemas de 16 bits

Algunas cadenas en los sistemas de 16 bits de DEC se codificaban como bytes de 8 bits, mientras que otras usaban RADIX 50 (entonces también llamado MOD40 ). [3] [8]

En RADIX 50, las cadenas se codificaban 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 lo tanto, las palabras de 16 bits codifican valores que van desde 0 (tres espacios) a63 999 ("999"). Cuando había menos de tres caracteres en una palabra, la última palabra de la cadena se rellenaba con espacios finales. [3]

Hubo varias variaciones menores de esta codificación con diferentes interpretaciones de los puntos de código 27, 28, 29. Cuando se utilizó RADIX 50 para los nombres de archivo almacenados en medios, los puntos de código representan los $caracteres %, *, y se mostrarán como tales al enumerar el directorio con utilidades como DIR. [9] Al codificar cadenas en el ensamblador PDP-11 y otros lenguajes de programación PDP-11, los puntos de código representan los $caracteres ., %, y se codifican como tales con la macro RAD50 predeterminada en el archivo de macros global, y esta codificación se utilizó en las tablas de símbolos . Algunos documentos tempranos para el sistema operativo RT-11 consideraron que el punto de código 29 no estaba definido. [3]

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 podían 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 podían almacenar en una tercera palabra de 16 bits. De manera similar, un nombre de dispositivo de tres caracteres como "DL1" también se podía almacenar en una palabra de 16 bits. El punto que separaba el nombre de archivo y su extensión, y los dos puntos que separaban el nombre de un dispositivo del nombre de archivo, estaban implícitos (es decir, no se almacenaban y siempre se asumía que estaban presentes).

Véase también

Referencias

  1. ^ ab "Capítulo VI: El cargador - Representación de símbolos en base 50". Manual del sistema de multiprogramación PDP-6 (PDF) . Maynard, Massachusetts, EE. UU.: Digital Equipment Corporation (DEC). 1965. pág. 57. DEC-6-0-EX-SYS-UM-IP-PRE00. Archivado (PDF) desde el original el 14 de julio de 2014 . Consultado el 10 de julio de 2014 .(1+84+10 páginas)
  2. ^ abcd "Apéndice 1". Programas de utilidad PDP-9 - Sistema de software avanzado - Manual de referencia del programador (PDF) . Maynard, Massachusetts, EE. UU.: Digital Equipment Corporation . 1968. Número de pedido DEC-9A-GUAB-D. Archivado (PDF) desde el original el 4 de junio de 2020 . Consultado el 4 de junio de 2020 .
  3. ^ abcdefg "8.10 .RAD50". Ensamblador PAL-11R - Manual del programador - Lenguaje ensamblador de programas y ensamblador reubicable para el sistema operativo de disco (2.ª edición revisada). Maynard, Massachusetts, EE. UU.: Digital Equipment Corporation . Mayo de 1971 [febrero de 1971]. pág. 8-8. DEC-11-ASDB-D . Consultado el 18 de junio de 2020. pág. 8-8: […] Los programas de los sistemas PDP-11 a menudo manejan símbolos en una forma especialmente codificada llamada RADIX 50 (esta forma a veces se conoce como MOD40). Esta forma permite empaquetar 3 caracteres en 16 bits; por lo tanto, cualquier símbolo de 6 caracteres puede almacenarse en dos palabras. El operando único tiene la forma /CCC/ donde la barra (el delimitador) puede ser cualquier carácter imprimible excepto = y :. Los delimitadores encierran los caracteres que se van a convertir, 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 supone que hay espacios finales. […] El algoritmo de empaquetado 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 RADIX 50 para los caracteres 1 a 3 (C1,C2,C3) se combinan de la siguiente manera: RESULTADO=((C1*50)+C2)*50+C3 […][1]
  4. ^ ab Durda IV., Frank (2004). "Referencia de código de caracteres RADIX50". Archivado desde el original el 2005-03-31 . Consultado el 2005-03-31 .
  5. ^ ab "Apéndice B.3: Constantes y conjunto de caracteres de base 50". Manual de referencia del lenguaje Fortran 77 de Compaq. Compaq Computer Corporation . 1999. Archivado desde el original el 14 de octubre de 2012. Consultado el 14 de octubre de 2012 .
  6. ^ ab Jones, Douglas W. (2018). "Conferencia 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 2020-06-06 . Consultado el 2020-06-06 .
  7. ^ Murrell, Stephen J. (2005). "DEC/PDP Character Codes" (Códigos de caracteres DEC/PDP). rabbit.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 .
  8. ^ PDP-11 Getting DOS on the Air (1.ª ed.). Maynard, Massachusetts, EE. UU.: Digital Equipment Corporation . Agosto de 1971. DEC-11-SYDC-D . Consultado el 18 de junio de 2020 .[2]
  9. ^ "Demostración RT11 Radix50".

Lectura adicional

Enlaces externos