Предложения
по принципам кодирования буквенно-числовой информации для электронных цифровых вычислительных машин «Стрела». М-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 |