Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по микропроцессорам Щеглов.DOC
Скачиваний:
22
Добавлен:
17.09.2019
Размер:
8.33 Mб
Скачать

Пример 1.10.

Изображения чисел в зонном формате для ЕС ЭВМ:

  1. Число 457 в данном формате в поле, длинной три байта, имеет вид:

  1. Число – 5678 в зонном формате в поле, длиной четыре байта, имеет вид:

Как видно из примеров в зонной части младшей цифры записывается знак числа: С ( или F) для знака «+», и D для знака «-».

Зонное представление десятичных данных неэкономично, так как в каждом байте размещается только одна цифра, хотя может уместится две. Поэтому для выполнения арифметических операций употребляется другая форма, которая называется упакованной. В упакованной форме в каждом байте размещается по две цифры. Код знака заносится в младшую тетраду младшего байта поля. Таким образом, максимальное число разрядов десятичного числа равно 31 (16*2-1=31).

Пример 1.11.

Число 457 в упакованной форме занимает поле длиной два байта:

Число – 5678 в упакованном формате занимает 3 байта:

При использовании ASCII кода каждая цифра в распакованном формате представляется байтами, старшая тетрада которых имеет значение (0011)2=(3)16: 0(30)16, 1(31)16, 2(32)16, 3(33)16, 4(34)16, 5(35)16, 6(36)16, 7(37)16, 8(38)16, 9(39)16.

1.3.3. Логические значения.

Переменные, принимающие одно из двух значений «ложь» (FALSE) или «истина» (TRUE), называются булевыми (логическими) переменными. Значения «ложь» и «истина» принято кодировать цифрами 0 и 1 соответственно. Операции над логическими переменными как объектами определены в языках программирования. В этом случае под их значения отводится группа битов (байт или машинное слово). Наличие хотя бы одного единичного байта в группе определяет истинное значение, а все нули – ложное.

Булевы переменные используются в программах как самостоятельные объекты достаточно редко. Чаще всего они являются элементами наборов булевых векторов и матриц. К тому же слова информации, представляющие команды и числа, а также поля переменной длины, представляющие строки символов и тексты, часто приходится обрабатывать с использованием логических (булевых) операций, по отношению к которым двоичные разряды слов и полей являются логическими значениями. Таким образом, логические значения 0 и 1 чаще всего участвуют в операциях в виде наборов слов или полей переменной длины, каждый разряд которых рассматривается, как значение булевой переменной. Информация, представляемая такими словами, трактуется как не числовая и в процессе выполнения логических операций все разряды слова обрабатываются одинаково, как отдельные логические значения, объединённые в один набор. Таким образом, при обработке логических значений логические операции распространяются на слова и поля переменной длины, исследуемые для представления булевых переменных, команд, чисел и строк символов.

1.4. Машинные коды.

Двоичные числа в ЭВМ представляются машинными кодами определённой разрядности. Предположим, что число разрядов слова равно m тогда двоичный код числа X в этой разрядности запишется следующим образом:

X=Xm-1Xm-2Xm-3…X1X0 (1.15)

Здесь Xm-1 – знаковый разряд числа