Предложения
по принципам кодирования буквенно-числовой информации для электронных цифровых вычислительных машин «Стрела». М-20, «Урал».
Дата: 01.01.1960 (?)
Автор: С. Авраменко
Источник: Архив академика А. П. Ершова
Современные устройство ввода и вывода цифровых электронных вычислительных машин должны осуществлять ввод в оперативную память и печатание буквенно-числовой¹ информации. Чтобы разработка таких устройств ввода и вывода проводилась в нужном направлении, необходимо уже в настоящее время выработать, с одной стороны, представление об объёме и необходимом составе совокупности символов такой буквенно-числовой информации и, с другой стороны, общие принципы кодирования, т. е. перевода на язык вычислительной машины буквенно-числовой информации. В настоящей статье делаются предложения в этом направлении.
По нашему мнению, совокупность символов буквенно-числовой информации должна:
1. Включать символы международного алгоритмического языка МАЯ/АЛГОЛ.²
В сообщении об алгоритмическом языке АЛГОЛ введено 105 основных символов. В замечаниях³ по этому проекту указывается необходимость расширения совокупности основных символов языка. Очевидно, что в ближайшее время число основных символов языка АЛГОЛ превысит 128.
¹ Под буквенно-числовой информацией мы понимаем строчные и заглавные буквы стандартного алфавита, цифры, а также различного рода знаки.
² Сообщение об алгоритмическом языке АЛГОЛ, под редакцией Перлиса А. Дж., Замельзона К. Перевод А. П. Ершова. Выч. Центр АН СССР, Москва, 1959 г.
³ См. Communs. Assoc. Comput. Mach. за 1959 г.
2. Включать строчные и заглавные буквы русского алфавита.
3. Включать все символы, применяемые в фактурных и других аналогичных машинах.
4. Иметь объём не менее 256 символов.
5. Допускать дальнейшее неограниченное увеличение объёма.
Принцип кодирования буквенно-числовой информации должен удовлетворять следующим требованиям.
1. Перенесение буквенно-числовой информации на перфокарты или перфоленту должно простым образом осуществляться на существующих в настоящее время клавишно-перфораторных устройствах цифровых электронных вычислительных машин.
2. Кодировка должна быть однообразной по возможности для большего числа классов машин (во всяком случае, таких как «Стрела», М-20, «Урал»).
Чтобы удовлетворить требованию простоты использования существующих клавишно-перфораторных машин, для кодирования отдельного символа необходимо отводить целое число восьмеричных разрядов (число двоичных разрядов должно быть кратно трём). Исходя из этого, предлагается два варианта кодировки: 9 двоичных разрядов на символ и 6 двоичных разрядов на символ. Выбор того или иного варианта должен определяться соображениями простоты соответствующих устройств ввода и вывода, в первую очередь печатающего устройства.
В таблицах 1—4 приведена предполагаемая кодировка буквенно-числовых кодов. Из 512 кодов занято только 168. Некоторые из свободных кодов должны быть использованы для различного рода контрольных функций, в частности, для неограниченного расширения объёма кодируемой информации. Код 777 предполагается использовать для аннулирования символа.
При девятиразрядного кодировании символов помещается в одной ячейке машины «Стрела» — 4 символа, машины М-20 — 5 символов и полной ячейке «Урал» — 4 символа.
Шестиразрядное кодирование можно осуществить следующим образом:
а.— Каждому символу относится две последние цифры девятиразрядного кода, помещённого в таблицах 1—4;
б.— Символы разных таблиц образуют разные наборы символов, причём символам разных наборов будут соответствовать одни и те же шестиразрядные коды;
в.— тот факт, что двоичный код относится к старшему набору символов по сравнению с предыдущим символов, отмечается специальным символом повышения набора (число таких символов указывает, на сколько наборов происходит повышение); аналогично производится понижение набора;
г.— символы таблицы 1 образуют самый низший набор;
В шестиразрядном коде аннулятором служит код 77.
При шестиразрядном кодировании символов помещается в одной ячейке машины «Стрела» — 7 символов, машины М-20 — 7 символов и полной ячейке машины «Урал» — 6 символов.
С. Авраменко
Восьме- ричный код | Символ | Значение | Восьме- ричный код | Символ | Значение | |
000 | Пустой промежуток, бланк | 040 | 0 | Ноль | ||
001 | 1 | Цифры | 041 | a | Буквы строчные. Латинский алфавит. |
|
002 | 2 | 042 | b | |||
003 | 3 | 043 | c | |||
004 | 4 | 044 | d | |||
005 | 5 | 045 | e | |||
006 | 6 | 046 | f | |||
007 | 7 | 047 | g | |||
010 | 8 | 050 | h | |||
011 | 9 | 051 | i | |||
012 | 10 | Масштабный множитель | 052 | j | ||
013 | . | Разделительная точка | 053 | k | ||
014 | , | Запятая, перечневый разделитель | 054 | l | ||
015 | : | Двоеточие | 055 | m | ||
016 | ; | Точка с запятой, операторный разделитель | 056 | n | ||
017 | → | Подстановочная стрелка | 057 | o | ||
020 | := | Ограничитель присвоения | 060 | p | ||
021 | =: | Ограничитель процедуры | 061 | q | ||
022 | + | Плюс | арифмет. операции | 062 | r | |
023 | − | Минус | 063 | s | ||
024 | × | Умножить на | 064 | t | ||
025 | / | Разделить на | 065 | u | ||
026 | ≡ | Эквивалентно | 066 | v | ||
027 | ∨ | «или» | булевы операции | 067 | w | |
030 | ∧ | «и» | 070 | x | ||
031 | ¬ | «не» | 071 | y | ||
032 | ( | Левая скобка | 072 | z | ||
033 | ) | Правая скобка | 073 | { | begin | |
034 | [ | Индексная скобка левая | 074 | } | end | |
035 | ] | Индексная скобка правая | 075 | |||
036 | ↑ | Показательная стрелка повышающая | 076 | |||
037 | ↓ | Показательная стрелка понижающая | 077 |
Восьме- ричный код | Символ | Значение | Восьме- ричный код | Символ | Значение |
100 | < | Меньше | 140 | ||
101 | ⩽ | Меньше или равно | 141 | A | Буквы заглавные. Латинский алфавит. |
102 | = | Равно | 142 | B | |
103 | ⩾ | Больше или равно | 143 | C | |
104 | > | Больше | 144 | D | |
105 | ≠ | Не равно | 145 | E | |
106 | GO | goto | 146 | F | |
107 | DO | do | 147 | G | |
110 | FR | for | 150 | H | |
111 | IF | if | 151 | I | |
112 | IE | if either | 152 | J | |
113 | OR | or if | 153 | K | |
114 | RE | return | 154 | L | |
115 | SP | stop | 155 | M | |
116 | PC | procedure | 156 | N | |
117 | RY | array | 157 | O | |
120 | SW | switch | 160 | P | |
121 | IT | integer | 161 | Q | |
122 | BO | boolean | 162 | R | |
123 | 163 | S | |||
124 | 164 | T | |||
125 | 165 | U | |||
126 | 166 | V | |||
127 | 167 | W | |||
130 | 170 | X | |||
131 | 171 | Y | |||
132 | 172 | Z | |||
133 | 173 | ||||
134 | 174 | ||||
135 | 175 | ||||
136 | 176 | ||||
137 | CM | comment | 177 |
Восьме- ричный код | Символ | Значение | Восьме- ричный код | Символ | Значение |
200 | 240 | б | Буквы строчные. Русский алфавит. |
||
201 | 241 | в | |||
202 | 242 | г | |||
203 | 243 | д | |||
204 | 244 | е | |||
205 | 245 | ж | |||
206 | 246 | з | |||
207 | 247 | и | |||
210 | 250 | й | |||
211 | 251 | к | |||
212 | 252 | л | |||
213 | 253 | м | |||
214 | 254 | н | |||
215 | 255 | о | |||
216 | 256 | п | |||
217 | 257 | р | |||
220 | 260 | с | |||
221 | 261 | т | |||
222 | 262 | у | |||
223 | 263 | ф | |||
224 | 264 | х | |||
225 | 265 | ц | |||
226 | 266 | ч | |||
227 | 267 | ш | |||
230 | 270 | щ | |||
231 | 271 | э | |||
232 | 272 | ю | |||
233 | 273 | я | |||
234 | 274 | ы | |||
235 | 275 | ъ | |||
236 | 276 | ь | |||
237 | а | 277 |
Восьме- ричный код | Символ | Значение | Восьме- ричный код | Символ | Значение |
300 | 340 | Б | Буквы прописные. Русский алфавит. |
||
301 | 341 | В | |||
302 | 342 | Г | |||
303 | 343 | Д | |||
304 | 344 | Е | |||
305 | 345 | Ж | |||
306 | 346 | З | |||
307 | 347 | И | |||
310 | 350 | ||||
311 | 351 | К | |||
312 | 352 | Л | |||
313 | 353 | М | |||
314 | 354 | Н | |||
315 | 355 | О | |||
316 | 356 | П | |||
317 | 357 | Р | |||
320 | 360 | С | |||
321 | 361 | Т | |||
322 | 362 | У | |||
323 | 363 | Ф | |||
324 | 364 | Х | |||
325 | 365 | Ц | |||
326 | 366 | Ч | |||
327 | 367 | Ш | |||
330 | 370 | Щ | |||
331 | 371 | Э | |||
332 | 372 | Ю | |||
333 | 373 | Я | |||
334 | 374 | ||||
335 | 375 | ||||
336 | 376 | ||||
337 | А | 377 |