stringtranslate.com

DIC RADIX 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 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 , [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 y 16 bits.

sistemas de 36 bits

En 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 el esquema de codificación SQUOZE utilizado en el sistema operativo SHARE de IBM para representar símbolos de código objeto, la variante de DEC a veces también se llamaba DEC Squoze , [7] sin embargo, IBM SQUOZE empaquetaba seis caracteres de un alfabeto de 50 caracteres más dos adicionales bits de bandera 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 no utilizado por palabra de 36 bits.

sistemas de 18 bits

RADIX 50 (también llamado formato Radix 50 8 [2] ) se usó 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 estaban codificadas 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 , seguida de una segunda palabra que contiene el valor 4×40 2  + 5×40 1  + 6×40 0 =6606 . Así, las palabras de 16 bits codificaban valores que iban 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 finales. [3]

Hubo varias variaciones menores de esta codificación con diferentes interpretaciones de los 27, 28, 29 puntos del código. Cuando se usó RADIX 50 para nombres de archivos 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 globales, y esta codificación se usó en las tablas de símbolos . Alguna documentación inicial para el sistema operativo RT-11 consideraba 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 nombres de archivos utilizadas por los sistemas operativos PDP-11 de Digital Equipment Corporation . Usando la codificación RADIX 50, se podrían almacenar seis caracteres de un nombre de archivo en dos palabras de 16 bits, mientras que se podrían almacenar tres caracteres de extensión (tipo de archivo) más en una tercera palabra de 16 bits. De manera similar, un nombre de dispositivo de tres caracteres como "DL1" también podría almacenarse en una palabra de 16 bits. El punto que separaba el nombre del archivo y su extensión, y los dos puntos que separaban el nombre de un dispositivo de un nombre de archivo, estaban implícitos (es decir, no se almacenaban y siempre se suponía que estaban presentes).

Ver también

Referencias

  1. ^ ab "Capítulo VI: El cargador - La representación de símbolos Radix 50". Manual del sistema de multiprogramación PDP-6 (PDF) . Maynard, Massachusetts, EE.UU.: Digital Equipment Corporation (DEC). 1965. pág. 57. DIC-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. Orden No. 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 (segunda edición de impresión revisada). Maynard, Massachusetts, EE.UU.: Digital Equipment Corporation . Mayo de 1971 [febrero de 1971]. pag. 8-8. 11-DIC-ASDB-D . Consultado el 18 de junio de 2020 . pag. 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 denomina 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 diagonal (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, el dólar ($), el punto (.) y el espacio (). Si hay menos de 3 caracteres, se considera que están justificados a la izquierda y se asumen espacios al final. […] 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 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]
  4. ^ ab Durda IV., Frank (2004). "Referencia del código de caracteres RADIX50". Archivado desde el original el 31 de marzo de 2005 . Consultado el 31 de marzo de 2005 .
  5. ^ ab "Apéndice B.3: Conjunto de caracteres y constantes de Radix-50". Manual de referencia del lenguaje Compaq Fortran 77. Corporación informática Compaq . 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 objeto, cargadores y enlazadores: pasos finales en el camino hacia el código 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 .
  7. ^ 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 .
  8. ^ PDP-11 Cómo llevar DOS al aire (1 ed.). Maynard, Massachusetts, EE.UU.: Digital Equipment Corporation . Agosto de 1971. 11 DE DICIEMBRE-SYDC-D . Consultado el 18 de junio de 2020 .[2]
  9. ^ "Demostración de RT11 Radix50".

Otras lecturas

enlaces externos