Кодирование информации. Бинарное кодирование десятичных чисел

Страницы работы

Содержание работы

Кодирование информации

Программа для микропроцессорной системы управле­ния создается в виде последовательности команд. Каждая команда в общем случае содержит указание того, что должно быть сделано (код операции), и определение объекта действия, т. е. операнд. Способ задания операнда называется режимом адресации. Для микропроцессоров разработано около двух десятков режимов адресации, направленных на сокращение длины программы и времени ее выполнения. .

Наиболее простой, но и наиболее неэкономичной, является прямая адресация, при этом в поле операнда содержится полный адрес операнда в памяти. Таким путем можно обращаться к любой ячейке адресного пространства. Программирование ЭВМ на первых этапах их использования осуществлялось непосредственно в машинных кодах. Каждая команда представляла собой длинную последовательность единиц и нулей. Программирование было трудоемкой и утомительной процедурой: мало того, что  программист должен был все время соот­носить способ решения задачи с системой машинных команд и помнить, в каких ячейках содержатся данные и промежуточные результаты, он еще должен был выпол­нять непроизводительную и монотонную работу по записи громоздких двоичных кодов как машинных команд, так и адресов операндов. Значительно облегчило эту задачу использование восьмеричной и шестнадцатеричной систем кодирования.

Восьмеричная (октальная) шестнадцатеричная (гексадецимальная, НЕХ) системы кодирования при­меняются для упрощения восприятия длинных последо­вательностей единиц и нулей, представляющих двоичные числа. При этом применяется набор символов 0, 1, 2, 3 и т. д., каждый из которых закодирован последователь­ностью единиц и нулей в соответствии с двоичной си­стемой счисления. Для бинарного кодирования всех символов какого-либо алфавита требуется различное число бит (табл. 2.1). Как видно из таблицы, для кодирования любого десятичного числа от 0 до 9 тре­буется четыре бинарных разряда (четыре бита).

Именно поэтому практически во всех микропро­цессорах длина машинного слова кратна четырем (8, 12, 16 и т. д.). Для кодирования алфавитных символов недостаточно четырех, пяти и даже шести бинарных разрядов, так как это дает соответственно 16, 32 и 64 различные кодовые комбинации. Для кодирования всех букв русского (33) и латинского (26) алфавитов, а также символов арифметических и других операций при­ходится использовать семибитное кодирование, позволяю­щее получить 128 комбинаций.

Очень плодотворной оказалась идея использовать в ЭВМ машинное слово длиной 8 разрядов. При кодирова­нии алфавитных символов используется 7 разрядов,  а при кодировании числовой информации в 8-разрядном машинном слове размещается два десятичных разряда. Восьмиразрядное   бинарное   слово   называется   байтом. Бит   и   байт   очень похоже звучит   (по-английски соответственно и )  но путать их нельзя  ни  в коем случае. Бит, напоминаем,— это Один двоичный раз­ряд, а байт — набор двоичных  разрядов, обрабатывае­мых в ЭВМ как единое целое. В современных системах управления   и   обработки данных   прочно   укрепилось представление, что байт состоит из восьми бит (восьми­битный  байт).   Иногда правда, считают, что в байте содержится не восемь, а девять двоичных разрядов. Но при этом по-прежнему имеется восемь информацион­ных бит и дополнительно еще один контрольный разряд. Контрольный разряд образуется таким образом, чтобы сумма единиц в двоичном коде каждого символа была обязательно нечетной. Подробнее о назначении и особен­ностях контрольного разряда будет сказано в § 4.2.

Восьмеричное и шестнадцатеричное кодирование. Как видно из табл. 2.1, три бинарных разряда позволяют закодировать только символы от 0 до 7. В результате получается восьмеричная система кодирования. Для вычислений она не применяется, но благодаря ей сокра­щается запись и облегчается запоминание кодов. При использовании этой системы последовательность единиц и нулей разбивается на группы по три символа (триады) и для каждой тройки бит записывается ее восьмеричный эквивалент. В ЭВМ МИР, например, когда машина вышла на режим ввода, в регистре адреса должно быть окталь­ное значение 0115, а в регистре числа — 0124, т. е. в бинарной .форме

РА = 000    001    001     101 РЧ = 000    001    010    100

Именно такая комбинация светящихся ламп должна быть на отладочном пульте машины (рис. 2.7). Не­сомненно, что запомнить число 0124 гораздо легче, чем комбинацию ламп на рисунке.

Четыре бинарных разряда позволяют получить 16 раз­личных кодовых комбинаций, из которых для представле­ния  чисел  используются только  10   (от 0000 до   1001); оставшиеся   шесть  комбинаций   (от   1010  до   1111)   как десятичные числа смысла не имеют. Однако шестнадцатеричный код широко применяется для символьного кодиро­вания программ управления. Кодовые комбинации, соот­ветствующие числам  10 и более, условно обозначаются первыми буквами латинского алфавита (табл. 2.1). Чтобы не   выписывать  длинные   вереницы   единиц   и   нулей,   в программах   вместо   каждых   четырех   бит   записывается их шестнадцатеричный эквивалент. Например, операция 1111    1001    1100   0101    в   шестнадцатеричном   коде   за­пишется как Р9С5.

Все разработчики систем управления и программисты предпочитают иметь дело с восьмеричными или шестнадцатеричными символами, вместо того чтобы писать бес­конечные 1 и 0. Для начинающих проблема состоит только в изучении кода, но при некотором опыте восьме­ричные и шестнадцатеричные символы читаются так же легко, как десятичные. Рассмотрим для примера показанную на рис. 2.8 бинарную последовательность длиной 16 бит.   Разделим ее на четыре тетрады. Очевидно,   что глаз лучше и скорее улавливает закономерность в четырех символах, чем в 16 битах. Возможность записи и чтения трех или четырех бит как одного символа представляет огромное преимущество для адресации и программирова­ния, что будет показано далее.

Похожие материалы

Информация о работе