stringtranslate.com

ДЕК. РАДИКС 50

RADIX 50 [1] [2] [3] или RAD50 [3] (также называемая RADIX50 , [4] RADIX-50 [5] или RAD-50 ) — это кодировка символов , состоящая только из заглавных букв, созданная корпорацией Digital Equipment Corporation (DEC) для использования на компьютерах DECsystem , PDP и VAX .

40-символьный репертуар RADIX 50 (050 в восьмеричной системе ) может кодировать шесть символов плюс четыре дополнительных бита в одно 36-битное машинное слово ( PDP-6 , PDP-10 /DECsystem-10, DECSYSTEM-20 ), три символа плюс два дополнительных бита в одно 18-битное слово ( PDP-9 , [2] PDP-15 ), [6] или три символа в одно 16-битное слово ( PDP-11 , VAX). [3]

Фактическое кодирование различается в 36-битной и 16-битной системах.

36-битные системы

В 36-битных системах DEC RADIX 50 обычно использовался в таблицах символов для ассемблеров или компиляторов, которые поддерживали шестисимвольные имена символов из 40-символьного алфавита. Это оставляло четыре бита для кодирования свойств символа.

Из-за сходства со схемой кодировки символов SQUOZE , используемой в операционной системе IBM SHARE для представления символов объектного кода, вариант DEC иногда также назывался DEC Squoze , [7] однако IBM SQUOZE упаковывал шесть символов из 50-символьного алфавита плюс два дополнительных бита флагов в одно 36-битное слово. [6]

RADIX 50 обычно не использовался в 36-битных системах для кодирования обычных строк символов; имена файлов обычно кодировались как шесть шестибитных символов, а полные строки ASCII — как пять семибитных символов и один неиспользуемый бит на 36-битное слово.

18-битные системы

RADIX 50 (также называемый форматом Radix 50 8 [2] ) использовался в 18-битных компьютерах PDP-9 и PDP-15 компании Digital для хранения символов в таблицах символов, оставляя два дополнительных бита на 18-битное слово («биты классификации символов»). [2]

16-битные системы

Некоторые строки в 16-битных системах DEC были закодированы как 8-битные байты, в то время как другие использовали RADIX 50 (тогда также называвшийся MOD40 ). [3] [8]

В RADIX 50 строки кодировались последовательными словами по мере необходимости, при этом первый символ в каждом слове располагался в наиболее значимой позиции.

Например, при использовании кодировки PDP-11 строка «ABCDEF» со значениями символов 1, 2, 3, 4, 5 и 6 будет закодирована как слово, содержащее значение 1×40 2  + 2×40 1  + 3×40 0 =1683 , за которым следует второе слово, содержащее значение 4×40 2  + 5×40 1  + 6×40 0 =6606. Таким образом, 16-битные слова кодировали значения в диапазоне от 0 (три пробела) до63 999 («999»). Когда в слове было меньше трех символов, последнее слово в строке дополнялось конечными пробелами. [3]

Существовало несколько незначительных вариаций этой кодировки с различными интерпретациями кодовых точек 27, 28, 29. Когда RADIX 50 использовался для имен файлов, хранящихся на носителе, кодовые точки представляют символы $, %, *и будут показаны как таковые при листинге каталога с помощью таких утилит, как DIR. [9] При кодировании строк в ассемблере PDP-11 и других языках программирования PDP-11 кодовые точки представляют символы $, ., %и кодируются как таковые с помощью макроса RAD50 по умолчанию в глобальном файле макросов, и эта кодировка использовалась в таблицах символов . Некоторая ранняя документация для операционной системы RT-11 считала кодовую точку 29 неопределенной. [3]

Использование RADIX 50 стало источником соглашений о размере имени файла, используемых операционными системами Digital Equipment Corporation PDP-11. При использовании кодировки RADIX 50 шесть символов имени файла могли храниться в двух 16-битных словах, в то время как еще три символа расширения (типа файла) могли храниться в третьем 16-битном слове. Аналогично, трехсимвольное имя устройства, такое как «DL1», также могло храниться в 16-битном слове. Точка, разделяющая имя файла и его расширение, и двоеточие, разделяющее имя устройства и имя файла, подразумевались (т. е. не хранились и всегда предполагались присутствующими).

Смотрите также

Ссылки

  1. ^ ab "Глава VI: Загрузчик - Представление символов в системе счисления Radix 50". Руководство по мультипрограммированию PDP-6 (PDF) . Мейнард, Массачусетс, США: Digital Equipment Corporation (DEC). 1965. стр. 57. DEC-6-0-EX-SYS-UM-IP-PRE00. Архивировано (PDF) из оригинала 2014-07-14 . Получено 2014-07-10 .(1+84+10 страниц)
  2. ^ abcd "Приложение 1". PDP-9 Utility Programs -- Advanced Software System -- Справочное руководство программиста (PDF) . Мейнард, Массачусетс, США: Digital Equipment Corporation . 1968. Заказ № DEC-9A-GUAB-D. Архивировано (PDF) из оригинала 2020-06-04 . Получено 2020-06-04 .
  3. ^ abcdefg "8.10 .RAD50". PAL-11R Assembler - Programmer's Manual - Program Assembly Language and Relocatable Assembler for the Disk Operating System (2nd revision printing ed.). Maynard, Massachusetts, USA: Digital Equipment Corporation . May 1971 [February 1971]. p. 8-8. DEC-11-ASDB-D . Retrieved 2020-06-18 . p. 8-8: […] Программы систем PDP-11 часто обрабатывают символы в специально закодированной форме, называемой RADIX 50 (эту форму иногда называют MOD40). Эта форма позволяет упаковать 3 символа в 16 бит; поэтому любой 6-символьный символ можно хранить в двух словах. Единственный операнд имеет форму /CCC/, где косая черта (разделитель) может быть любым печатным символом, за исключением = и : . Разделители заключают в себе преобразуемые символы, которые могут быть от A до Z, от 0 до 9, доллар ($), точка (.) и пробел ( ). Если символов меньше 3, они считаются выровненными по левому краю, и предполагаются конечные пробелы. […] Алгоритм упаковки следующий: […] A. Каждый символ преобразуется в свой эквивалент RADIX 50, как указано в следующей таблице: Символ - Эквивалент RADIX 50 (восьмеричный): (пробел) - 0, A–Z - 1–32, $ - 33, . - 34, 0–9 - 36–47. Обратите внимание, что для кода 35 может быть определен другой символ. […] B. Эквиваленты RADIX 50 для символов с 1 по 3 (C1,C2,C3) объединяются следующим образом: RESULT=((C1*50)+C2)*50+C3 […][1]
  4. ^ ab Durda IV., Frank (2004). "Справочник кодов символов RADIX50". Архивировано из оригинала 2005-03-31 . Получено 2005-03-31 .
  5. ^ ab "Приложение B.3: Константы и набор символов Radix-50". Справочное руководство по языку Compaq Fortran 77. Compaq Computer Corporation . 1999. Архивировано из оригинала 2012-10-14 . Получено 2012-10-14 .
  6. ^ ab Jones, Douglas W. (2018). "Лекция 7, Объектные коды, загрузчики и компоновщики - Последние шаги на пути к машинному коду". Операционные системы, весна 2018 г. Часть коллекции операционных систем CS:3620. Кафедра компьютерных наук, Университет Айовы . Архивировано из оригинала 2020-06-06 . Получено 2020-06-06 .
  7. ^ Murrell, Stephen J. (2005). "DEC/PDP Character Codes". rabbit.eng.miami.edu . University of Miami . DEC Squoze Character Table. Архивировано из оригинала 2020-06-19 . Получено 2020-06-19 .
  8. ^ PDP-11 Getting DOS on the Air (1-е изд.). Мейнард, Массачусетс, США: Digital Equipment Corporation . Август 1971. DEC-11-SYDC-D . Получено 18.06.2020 .[2]
  9. ^ "RT11 Radix50 Демо".

Дальнейшее чтение

Внешние ссылки