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

Бинарное кодирование десятичных чисел. Для ввода и вывода информации, в частности при    цифро-анало­говом преобразовании, бинарный код неудобен, по­скольку он требует либо большого числа  линий связи (при параллельной передаче), либо длительного цикла об­мена (при последовательной передаче).  В основном  по этой причине в большинстве автоматических и автомати­зированных систем управления технологическими про­цессами для ввода и вывода информации применяют бинарно   (двоично) кодированную десятичную систему (БКД) или бинарно-децимальный код. Иными словами, используют алфавит из десяти символов: 1, 2, 3, ..., 9, О, каждый из которых закодирован четырьмя бинарными разрядами. При записи многоразрядных чисел сохраняются традиционные десятки,  сотни  и  так далее,  но  каждый десятичный   разряд   по-прежнему кодируется   четырьмя бинарными. Например, 1986 = 0001 1001 1000 0110.

Как видно из примера, бинарно-децимальный код менее экономичен, чем простой двоичный, но, несмотря на это, он более удобен, так как, дает лучшее соотношение между числом каналов связи   и числом передаваемых импульсов в каждом канале (см. § 4.2). При БКД облег­чается также связь между человеком-оператором и систе­мой управления, так как вводить исходную информацию в систему и получать из нее результаты можно в привыч­ной для оператора десятичной системе счисления. Когда, например, информация выводится на пульт управления с помощью сигнальных ламп, то крайняя правая колонка представляет собой числа от 0 до 9, вторая справа колонка — от 10 до 90, третья  от 100 до 900 и т. д.  Чтобы расшифровать число, закодированное, например, на перфоленте, надо суммировать веса разрядов, соответ­ствующие отверстиям, пробитым в данной строке (рис. 2.9а).

Обычно применяют взвешенные БКД: это значит, что каждому из четырех бит присваивается определенная характеристика, представляющая собой значение каждого разряда БКД, равное целой степени основания системы счисления (т. е. в данном случае двух) для соответ­ствующей позиции разряда. Эту характеристику разряда кратко называют весом разряда. Простой двоичный код является кодом с естественными весами разрядов, так как значение   каждого   бита   определяется   последователь­ностями чисел 0, 1, 2, 3, отсчитываемыми справа налево, т. е. 23, 22, 21, 2°. Иными словами, такой код имеет веса 8—4—2—1, именно поэтому его кратко называют «код 8421».   В   системах  управления  технологическими   про­цессами используются также БКД с иными весами раз­рядов, например 2421, 5121 и другими, но во всех случаях сумма всех весов должна быть не менее 9. Код 2421 — самодополняющийся, особенно удобен для преобразования информации из цифровой формы в аналоговую. Код 5121 наиболее часто применяется для  интерполяции в системах числового программного управления (ЧПУ) технологическим оборудованием.

Когда    в    программах    микропроцессорных    систем встречаются числовые данные, например значения операн­дов, то они могут быть представлены в любой форме. Но, чтобы при этом не возникало путаницы, запись в бинарной системе кодирования принято сопровождать латинской буквой В. Каждое восьмеричное число должно сопровождаться буквой О  (осЫ), но, чтобы эту букву отличать от цифры 0, восьмеричную систему идентифи­цируют  буквой  р.  После  десятичной   цифры   ставится буква О. Шестнадцатеричное число, которое начинается с   цифр   0—9,   должно завершаться символом Н или НЕХ,   являющимся    сокращением слова    пехаёесипа. Шестнадцатеричные  числа,   начинающиеся  с  символов А—Р, т. е. 1010—1111, обязательно дополняются слева незначащим нулем. Например, бинарное число 1010 1111 должно быть записано в виде 0АВН.

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

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

Мнемокод является машнннориентированным языком программирования, так как каждый микропроцессор имеет собственный набор команд. Поэтому,  приступая к изучению какого-либо конкретного  микропроцессора,  необходимо познакомиться с его системой команд и при­нятыми в ней сокращениями. Для примера в табл. 2.2 приведены некоторые мнемокоды алгоритмического языка АЛМИР,  используемого ЭВМ МИР.  Это один  из  не­многих языков, в котором приняты сокращения терминов на русском языке.

Мнемокоды значительно ускоряют программирование, но кроме того, они являются основой для создания алгоритмических языков более высокого уровня.