
- •История развития микропроцессоров
- •Структурная схема микро-эвм на базе микропроцессорного комплекта кр 580
- •Архитектура модуля центрального процессора
- •Форматы команд и способы адрасации Классификация команд
- •2. По длине
- •3. По способам адресации
- •Команды восьмиразрядного микропроцессора кр580
- •Команды передачи Общая характеристика.
- •Арифметические основы эвм
- •Системы счисления, применяемые в эвм
- •1. Двоичная (бинарная)
- •2. Восьмеричная
- •3. Шестнадцатеричная
- •4. Двоично - десятичная
- •Способы кодирования чисел
- •Команды арифметических операций Общая характеристика
- •Логические основы эвм
- •Команды логических операций Общая характеристика
- •Команды инвертирования и установки переноса Общая характеристика
- •Команды сравнения Общая характеристика
- •Команды сдвига Общая характеристика
- •Команды перехода Общая характеристика
- •Команды вызова Общая характеристика
- •Команды возврата Общая характеристика
- •Команды ввода – вывода и управления Общая характеристика
- •Классификация микропроцессоров
- •2. Классификация по разрядности
- •3. Классификация по назначению
- •4. Классификация по виду обрабатываемых сигналов
- •5. Классификация по характеру временной организации работы
- •6. Классификация по организационной структуре
- •7. Классификация по количеству выполняемых программ
- •Программное обеспечение микропроцессорных систем
- •Элементы языка асcемблер
- •Ассемблеры
- •Типы ассемблеров
- •Директивы языка ассемблер
- •Пример программы на языке ассемблер
- •Способы физического представления двоичных цифр
- •Современные направления в развитии микропроцессоров
Способы кодирования чисел
АЛУ микропроцессора можно выполнить только 2 операции: сложение и инвертирование. В этом случае вычитание заменяется сложением по определенным правилам с использованием специальных кодов.
Для того, что бы вычесть два числа необходимо сложить дополнительные коды этих чисел, результат вычитания получается в дополнительном коде.
Различают 3 вида специальных кодов:
1. Прямой [х]пр
2. Обратный [х]обр
3. Дополнительный [х]доп
Если представляем числа со знаками, то число, у которого есть 1 в старшем разряде, считается отрицательным.
Положительные числа от 0000 0000 до 0111 1111 (от 0 до +127)
Отрицательные числа от 1000 0000 до 1111 1111 (от 0 до -128)
Для положительных чисел.
Само число, прямой, обратный и дополнительный коды этого числа совпадают друг с другом и равны самому числу. [х] = [х]пр = [х]обр = [х]доп
Например: число 5 = 0000 0101 (в двоичном виде)
[х]пр =0000 0101 – прямой код числа
[х]обр =0000 0101- обратный код числа
[х]доп = 0000 0101 – дополнительный код числа
Для отрицательных чисел
[х]пр – то же самое число, только в старшем разряде ставится единица;
[х]обр – единица в старшем разряде и инверсия числа;
[х]доп = [х]обр + 1.
Например: число -5 = - 0000 0101 (в двоичном виде)
[х]пр = 1000 0101 – прямой код числа (то же самое число и единица в старшем
разряде);
[х]обр = 1111 1010- обратный код числа ([х]пр и инверсия числа);
+0000
0001- прибавив 1 в младшем разряде получим
[х]доп
[х]доп =1111 1011 – дополнительный код числа ([х]обр + 1);
К примеру: 4 – 2 = ?
Для того, что бы вычесть два числа необходимо сложить дополнительные коды этих чисел, результат вычитания получается в дополнительном коде.
Для вычитания необходимо получить дополнительные коды чисел:
число 4 (000 0100 В); число - 2 (–0000 0100 В);
[4]пр = 0000 0100 [-2]пр = 1000 0010
[4]обр =0000 0100 [-2]обр = 1111 1101
[4]доп =0000 0100 [-2]доп =1111 1110
[4]доп + [-2]доп = 0000 0100
+1111 1110
0000
0010 – результат в дополнительном коде
Так как в старшем разряде результата стоит 0 это значит, что результат положительный, следовательно дополнительный код числа равен самому числу. Таким образом, результат равен 0000 0010, то есть числу +2.
К примеру: 5 – 7 = ?
Для вычитания необходимо получить дополнительные коды чисел:
число 5 (000 0101 В) число -7 (- 000 0111 В);
[5]пр = 0000 0101 [-7]пр. = 1000 0111
[5]обр= 0000 0101 [-7]обр = 1111 1000
[5]доп =0000 0101 [-7]доп =1111 1001
Складываем дополнительные коды чисел
[5]доп + [-7]доп = 0000 0101
+1111 1001
1111 1110 – результат в дополнительном коде.
Так как в старшем разряде результата стоит 1 это значит, что результат отрицательный, следовательно из дополнительного кода результата необходимо получить само число, для этого необходимо проинвертировать результат и прибавить 1 в младшем разряде.
1111 1110 (результат сложения чисел в дополнительных кодах).
0000 0001 (инверсия результата)
+ 0000 0001 (прибавление 1 в младшем разряде)
0000 0010 (двоичный код числа 2).
Следовательно 5-7 = -2.