- •2.4 Выполнение арифметических операций в микропроцессорных
- •1 Основные сведения об информационно-измерительных системах
- •1.1 Место информационно-измерительных систем в современной измерительной технике и информационных технологиях
- •1.2 Классификация иис
- •1.3 Принципы организации и основные структурные схемы иис
- •1.3.1 Измерительные системы
- •1.3.2 Телеизмерительные системы
- •1.3.3 Системы автоматического контроля
- •1.3.4 Системы технической диагностики
- •1.4 Функции микропроцессоров в иис
- •1.5 Преимущества микропроцессорных измерительных систем
- •2 Базовые понятия и определения микропроцессорной арифметики
- •2.1 Системы счисления
- •2.1.1 Классификация систем счисления
- •1. Табличные методы.
- •2. Расчетные методы.
- •2.2 Представление числовых данных в микропроцессорных системах
- •Обратный код.
- •2.2.1 Арифметические флажки
- •2.2.2 Контроль переполнения в микропроцессорных системах
- •2.3 Выполнение арифметических операций в микропроцессорных системах над двоичными числами с фиксированной точкой
- •2.3.3 Операции сдвига в микропроцессорных системах
- •2.4 Выполнение арифметических операций в микропроцессорных системах над числами с плавающей точкой
- •2.4.2 Форматы двоичных числовых данных с плавающей точкой
- •2.4.3 Стандарт ieee-754
- •2.4.5 Сложение и вычитание чисел в форме с плавающей точкой
- •2.4.6 Умножение и деление чисел в форме с плавающей точкой
- •2.5 Представление числовых данных в коде bcd
- •2.5.1 Форматы числовых данных bcd-кодов
- •2.5.2 Арифметические операции над числовыми данными bcd-кодов
- •3 Основы микропроцессорных метрологических систем
- •3.1 Архитектурные особенности вычислительных систем на базе микропроцессора і80х86 в реальном режиме
- •3.1.1 Исследование сегментной структуры программы
- •3.2 Изучение арифметических и логических команд мп і80х86
- •3.2.1 Изучение принципов логического анализа данных
- •3.2.2 Изучение арифметических команд мп і80х86
- •3.3 Обработка массивов на языке Assembler для мп і80х86
- •3.3.2 Команды сравнения, условного и безусловного перехода
- •3.3.3 Оператор цикла
- •3.4 Исследование принципов организации подпрограмм в языке Аssembler для мп і80х86
- •3.4.1 Принципы функционирования стека в мп і80х86
- •3.5 Изучение принципов функционирования микропроцессоров со стековой архитектурой на примере математического сопроцессора і80х87
- •3.5.2 Архитектура математического сопроцессора і80х87
- •Задание:
- •Приложение е. Программа для изучения принципов обработки массивов на языке assembler для мп і80х86
- •Приложение и. Программа для исследования системы команд математического сопроцессора
Обратный код.
Обратный (
-разрядный)
двоичный код положительного целого
числа состоит из одноразрядного кода
знака (0), за которым следует (
)-разрядное
двоичное представление модуля числа,
то есть обратный код для положительного
числа совпадает с прямым кодом.
Обратный ( -разрядный) двоичный код отрицательного целого числа состоит из одноразрядного кода знака (1), за которым следует ( )-разрядное двоичное число, представляющее собой инвертированное ( )-разрядное представление модуля числа, то есть для отрицательного числа все цифры числа заменяются на противоположные, а именно (1 на 0, а 0 на 1) и в знаковый разряд заносится единица.
Обратный код числа определяется соотношением:
.
где
– максимальное число в
-разрядной
сетке.
Отображение -битных наборов двоичных чисел (верхняя числовая прямая) на числовую ось данных обратного кода ( нижняя числовая прямая) для микропроцессорной системы показано на рис. 2.32.
Рисунок 2.32 – Отображение -битных наборов двоичных чисел на числовую ось данных обратного кода
Например:
Десятичное число |
Двоичное число |
Обратный код |
Комментарии |
(0(10)) |
0000(2) |
0,000 |
положительный (0) |
(0(10)) |
1111(2) |
1,111 |
отрицательный (0) |
(4(10)) |
0100(2) |
0,100 |
положительная (4) |
(- 4(10)) |
1011(2) |
1,011 |
отрицательная (4) |
(3(10)) |
0011(2) |
0,011 |
положительная (3) |
(- 3(10)) |
1100(2) |
1,100 |
отрицательная (3) |
Диапазон представимых чисел:
.
Положительный момент заключается в том, что при сложении обратных кодов чисел как беззнаковых чисел получаем обратный код суммы.
Отрицательный момент заключается в том, что существует два представления (0) и при выполнении операций сложения в обратном коде требуется коррекция суммы с помощью циклического переноса единицы переполнения из знаковых разрядов суммы.
Дополнительный код.
Наиболее распространенный способ представления отрицательных целых чисел в микропроцессорной системе.
Он позволяет заменить операцию вычитания на операцию сложения, чем упрощает архитектуру микропроцессорной системы.
Дополнительный код является дополнением
числа до некоторого граничного числа
(
).
Дополнительный код положительного числа совпадает с прямым кодом.
Для получения дополнительного кода отрицательного числа существует три способа:
все цифры модуля исходного числа заменяются на взаимно обратные, то есть производится инверсия всех цифр числа, затем к полученному значению добавляется единица в младшем разряде;
из модуля числа вычитается (1) младший бит, а затем инвертируются все разряды;
необходимо записать -битный модуль числа. Затем просматривать число справа налево, сохранить все младшие нули и первую встретившуюся (1), а остальные биты инвертировать.
Дополнительный код числа определяется соотношением:
;
,
где –
,
равняется весу не существующего в данном
числе разряда, расположенного слева от
знаковой цифры.
Отображение -битных наборов двоичных чисел (верхняя числовая прямая) на числовую ось данных дополнительного кода (нижняя числовая прямая) для микропроцессорной системы показано на рис. 2.33.
Рисунок 2.33 – Отображение -битных наборов двоичных чисел на числовую ось данных дополнительного кода
Например:
Десятичное число |
Двоичное число |
Дополнительный код |
Комментарии |
(0(10)) |
0000(2) |
0,000 |
положительный (0) |
(4(10)) |
0100(2) |
0,100 |
положительная (4) |
(- 4(10)) |
1100(2) |
1,100 |
отрицательная (4) |
(3(10)) |
0011(2) |
0,011 |
положительная (3) |
(- 3(10)) |
1101(2) |
1,101 |
отрицательная (3) |
Диапазон представимых чисел: .
Свойства дополнительного кода:
– при сложении чисел в дополнительном коде как беззнаковых чисел получаем дополнительный код суммы. Знаковые биты суммируются обычным образом, а возникающий при их сложении перенос игнорируется;
– любое число в дополнительном коде можно считать младшими битами («хвостом») числа любой длины, если содержимое знакового бита копировать влево. Эта операция называется расширением знака. Используется, когда исходные операнды в операциях сложения и вычитания имеют разную длину.
Свойства кодов:
– операции должны выполняться над данными, представленными в одном и том же коде: ПК-ПК, ОК-ОК, ДК-ДК;
–положительные числа в ПК, ОК, ДК не меняют своего представления;
– результат выполнения операций сложения и вычитания над числами, представленными в ПК, ОК или ДК, являются ПК, ОК или ДК соответственно;
– двоичный набор, представляющий (-0) в ПК и ДК, является запрещенной комбинацией;
– в отличие от ПК, в ОК и ДК нельзя отбрасывать нули после знакового разряда в целой части и нули в конце дробной части отрицательного числа (разрешается отбрасывать 1).
