- •Министерство образования и науки
- •Содержание
- •Информационный процесс, Сигналы
- •Логические состояния
- •Системы счисления
- •Логические элементы и таблица истинности
- •Логическое сложение, дизъюнкция, элемент или
- •Логическое умножение, конъюнкция, элемент и
- •Логический элемент не, отрицание, инверсия
- •Минимизация логических выражений с помощью карт карно
- •Карта карно для двух переменных
- •Карта карно с тремя переменными
- •Карта карно для четырех переменных
- •Комбинационные функциональные схемы
- •Счетверенная двухвходовая схема выборки
- •Мультиплексоры
- •Сумматоры
- •Компараторы
- •Обратные преобразования, записанные в дополнительном коде
- •Арифметика в дополнительном коде
- •Последовательная логика
- •Регистры
- •Параллельно – параллельный четырехразрядный регистр на rs – триггерах
- •Счетный триггер
- •Счетчики
- •Счетчик на сложение
- •Счетчик на вычитание
- •Реверсивный счетчик
- •Счетчик заданной длины
- •Линейные дешифраторы
- •Линейный дешифратор на 10
- •Основы микропроцессорной техники Архитектура эвм
- •Работа эвм
- •Группировки бит
- •Буквенно-цифровой код
- •Тристабильные элементы
- •Структура оперативной памяти
- •Основы микропроцессорной техники
- •Архитектура простой эвм
- •Структура простейшей памяти
- •Состав команд
- •Структура типового микропроцессора
- •Функционирование Эвм
- •Микропроцессор. Поставляемая разработчиком документация
- •Использование регистра, адреса / данных
- •Этапы обработки требования прерывания в микропроцессоре
- •Указатель стека
- •Программирование микропроцессора Состав команд арифметических действий
- •Состав команд логических операций
- •Команда или
- •Команда или – исключающее
- •Команда циклического сдвига с переносом
- •Состав команд операций передачи данных
- •Состав команд операций ветвления
- •Состав команд операций вызова подпрограмм и возврата в основную программу
- •Программирование микропроцессара запись программы
- •Ветвление программ
- •Использование подпрограмм
- •Интерфейс микропроцессора
- •Основные элементы интерфейса портов ввода/вывода
- •Список литературы
Программирование микропроцессора Состав команд арифметических действий
ADI–C6 – сложить аккумулятор с данными.
ADDL– 85 – сложить содержимое регистраLс содержимым аккумулятора.
ADDH– 84 – сложить содержимое регистраHс содержимым аккумулятора.
ADDМ – 86 – сложить содержимое аккумулятора с содержимым ячейки памяти, на которую указывает пара регистровHL.
SUI– Ø6 – вычесть данные из аккумулятора.
SUBL– 95 – вычесть содержимое регистраLиз содержимого аккумулятора.
SUBH– 94 – вычесть из содержимого регистра Н в аккумулятор.
SUBМ – вычесть данные, расположенные по адресу, на которую указывает пара регистровHL, из аккумулятора.
INRA– 3C– к содержимому аккумулятора +1.
INXH– 23 – инкремент пары регистровHL.
DCRA– 3D– декрементировать (- 1) аккумулятор.
DCXH– 2B– декрементировать пару регистровHL.
CPI–FE– сравнить содержимое аккумулятора с данными (в следующей ячейке памяти).
CMPL–BD– сравнить содержимое аккумулятора с содержимым регистраL.
CMPH– сравнить содержимое аккумулятора с содержимым регистраH.
CMPM– сравнить аккумулятор с ячейкой памяти, на которую указывает пара регистровHL.
Содержит команды сложить, вычесть, инкрементировать, декрементировать и сравнить.
Каждая команда точно оговаривает различные источники другого слагаемого.
Команда ADI– это команда сложить непосредственно, она является двухбайтовой. Ее формат (код операции С6) содержится в первом байте команды, а непосредственно за ним, во втором байте, находятся данные для сложения с содержимым аккумулятора.
Команда ADDL– содержимое аккумулятора (OF) складывается с содержимым регистраL(01). Полученная в результате выполнения команды сумма (10) помещается в аккумулятор.
Команда ADDH– выполняется так же.
Команда ADDМ – однобайтовая команда – сложить с косвенным адресом. Адрес второго слагаемого задан в более сложной форме с использованием так называемого способа косвенной регистровой адресации. При такой адресации пара регистровHLуказывает 16-тиразрядный адрес памяти, где хранится второе слагаемое.
Команда вычитания SUI.
Рассмотрим, например, 00001001 – 00000001 → Ø9Н – Ø1Н.
Эта операция выполняется следующим образом: осуществляется сложение первого числа и второго, представленного в дополнительном коде.
Дополнительный код FFвторого числа складывается с первым числом, что дает сумму 100001000. В старшем девятом бите суммы единица является переполнением и не принадлежит разности 00001000. МП использует это переполнение для установления индикатора переносаCYв регистре состояния. Вычитая, МП инвертирует переполнение, и результат становится содержимым индикатора переносаCY.
Рассмотрим другой пример, когда уменьшаемое меньше вычитаемого: Ø5 – Ø6 = FF= -1(10)
Результат вычитания представлен в дополнительном коде десятичного числа (-1). Сложение в этом случае не вызывает переполнения, т.е. девятый бит равен нулю. Этот бит инвертируется, что дает 1 в индикаторе переноса CY. Когда индикаторCYустанавливается в 1, после вычитания, это означает, что число, содержащееся в аккумуляторе, меньше числа в памяти или регистре. Иначе, индикатор переноса равен 1, указывает на то, что число в аккумуляторе после того, как было выполнено вычитание, является дополнительным кодом, представляя отрицательное число.
Допустим, первое слагаемое 5 находится в аккумуляторе, а второе слагаемое находится в регистре L.
Команда сравнение (СМР) – вычитает содержимое регистра памяти из содержимого аккумулятора, но при этом не изменяет содержимого ни того, ни другого. Индикаторы регистра состояния подвержены воздействию команд сравнения.
Например, сравнить содержимое аккумулятора с содержимым регистра L.
Содержимое регистра Lпереводим в дополнительный код.
Первое число и дополнительный код второго числа складываются, что дает результат 10000000, затем МП проверяет равенство нулю восьми младших разрядов. Индикатор нуля Zв примере принимает значение 1, переполнение 1 инвертируется и индикаторCYустанавливается в ноль. Сброшенный индикаторCYозначает, что содержимое аккумулятора больше либо равно содержимому регистраL.