- •Министерство образования и науки
- •Содержание
- •Информационный процесс, Сигналы
- •Логические состояния
- •Системы счисления
- •Логические элементы и таблица истинности
- •Логическое сложение, дизъюнкция, элемент или
- •Логическое умножение, конъюнкция, элемент и
- •Логический элемент не, отрицание, инверсия
- •Минимизация логических выражений с помощью карт карно
- •Карта карно для двух переменных
- •Карта карно с тремя переменными
- •Карта карно для четырех переменных
- •Комбинационные функциональные схемы
- •Счетверенная двухвходовая схема выборки
- •Мультиплексоры
- •Сумматоры
- •Компараторы
- •Обратные преобразования, записанные в дополнительном коде
- •Арифметика в дополнительном коде
- •Последовательная логика
- •Регистры
- •Параллельно – параллельный четырехразрядный регистр на rs – триггерах
- •Счетный триггер
- •Счетчики
- •Счетчик на сложение
- •Счетчик на вычитание
- •Реверсивный счетчик
- •Счетчик заданной длины
- •Линейные дешифраторы
- •Линейный дешифратор на 10
- •Основы микропроцессорной техники Архитектура эвм
- •Работа эвм
- •Группировки бит
- •Буквенно-цифровой код
- •Тристабильные элементы
- •Структура оперативной памяти
- •Основы микропроцессорной техники
- •Архитектура простой эвм
- •Структура простейшей памяти
- •Состав команд
- •Структура типового микропроцессора
- •Функционирование Эвм
- •Микропроцессор. Поставляемая разработчиком документация
- •Использование регистра, адреса / данных
- •Этапы обработки требования прерывания в микропроцессоре
- •Указатель стека
- •Программирование микропроцессора Состав команд арифметических действий
- •Состав команд логических операций
- •Команда или
- •Команда или – исключающее
- •Команда циклического сдвига с переносом
- •Состав команд операций передачи данных
- •Состав команд операций ветвления
- •Состав команд операций вызова подпрограмм и возврата в основную программу
- •Программирование микропроцессара запись программы
- •Ветвление программ
- •Использование подпрограмм
- •Интерфейс микропроцессора
- •Основные элементы интерфейса портов ввода/вывода
- •Список литературы
Состав команд логических операций
Логические команды составляют еще одну группу команд МП. Состав этих команд следующий: логическое умножение – И, логическое сложение – ИЛИ, ИЛИ – исключающее, отрицание – НЕ и сдвиг. В этой группе команд именно аккумулятор составляет ядро большинства операций. Как и при арифметических операциях, способ адресации и здесь влияет на способ и место нахождения других данных в системе. Команда ANIвыполняет логическое умножение над содержимым аккумулятора (00010011) и содержимым программной памяти после команды (00000001). Содержимое аккумулятора подтверждается операции И побитно. И в соответствии с таблицей истинности для этой операции имеем: 00000001. Результатом всех операций И будет сброс индикатора переноса. Так же результат операции И проверяется с целью определения не ноль ли он и если нет, индикатор нуляZсбрасывается в ноль.
Пример операции И с косвенной операцией (ANAM). Содержимое аккумулятора подвергается операции И (бит с битом) с содержимым ячейки памяти указанной парой регистровHL. Допустим, в аккумуляторе – 00111100, а в ячейке памяти – 00000001. Результат умножения будет 00000000, этот результат размещается в аккумуляторе. Индикатор переносаCYсбрасывается в ноль, кроме того, результат проверяется на ноль и поскольку, ответ да, индикатор нуляZустанавливается в единицу.
В обоих примерах второй операнд (00000001) используется как маска. В первом примере она используется для сброса в ноль 7 старших бит, а во втором примере, с учетом наличия индикатора нуля, для тестирования значений ноль или единица в позиции младшего бита аккумулятора.
Команда или
Мнемоника ORA. Выполняется с содержимым аккумулятора и содержимым какой-либо ячейки памяти или регистра.
Команда или – исключающее
Мнемоника XRA. Этих команд так же несколько, в зависимости от способа получения данных.
Например. Выполним команду ИЛИ - исключающее над самим аккумулятором, т.е. Аккумулятор Аккумулятор.
Выполнение этой операции любого числа с самим собой всегда даст результат все нули, при этом индикатор нуля Zустанавливается в единицу, что означает нулевое содержимое аккумулятора.
Команда циклического сдвига с переносом
Мнемоника RAR.
Например, RARА (сдвиг вправо с переносом).
Например.
Содержимое аккумулятора сдвинуто на одну позицию вправо и его младший бит (единица) передается в позицию индикатора переноса CY, тогда как имевшийся там бит (ноль) занимает позицию старшего бита аккумулятора. После завершения операцииCY=1, аZ=0. Используя одну или несколько команд циклического сдвига, можно тестировать весь заданный состав бит, а индикатор переноса, может быть, затем проверен командой условного ветвления.
Команды логических операций используются, как правило, для манипуляции с переменными по законам алгебры логики. Они так же могут быть использованы для тестирования и сравнения бит в слове.
Состав команд операций передачи данных
Эти команды выполняют передачу данных из регистра в регистр, размещение данных в памяти, размещение извлеченных из памяти данных в устройство ввода/вывода. Так же эти команды устанавливают индикатор переноса. Почти все эти команды не влияют на индикаторы регистра состояния. Каждая команда передачи данных содержит адрес источника и назначения данных. Способы адресации ориентированны на то, где и как осуществляется поиск данных. К основным в этой группе команд относятся:
MOVR1,R2– передача из регистра 2 в регистр 1,
MVI,R(M) – загрузить регистр (или память),
LXIR1.2– загрузить пару регистровLHL,LDA,STA,SHLD,IN,OUT,STC– команды передачи данных.
Например, команда MOVA,L– следующая за мнемоникой буква А указывает назначения тогда как последняя букваLиндефицирует источник данных.
Команда SPHL– здесь источником данных является пара регистровHL, приемником 16-тиразрядный указатель стекаSP.
Существует несколько команд непосредственной загрузки данных. Эти команды часто используются для размещения начальных значений в регистры МП.
Команда LXIH– пара регистровHLдолжна быть загружена данными, следующими непосредственно за кодом операции в программной памяти. Эта команда является трехбайтовой: 1 байт – код операции (21); 2-ой байт – содержит младший байт и помещается в регистрL; 3-й байт – это старший байт, который помещается в регистрH.
Команда загрузки пары регистров HLс прямой адресациейLHLD. Второй и третий байт являются 16-тиразрядным адресом памяти данных для загрузки.
МП преобразует 2 следующих за кодом операции байта в 16-тиразрядный адрес, который служит указателем адреса памяти данных (ОЗУ) и загружается в пару регистров HL.
Типовой МП снабжен несколькими командами размещения. Например, команда STA- загрузка данных с прямой адресацией. Содержимое аккумулятора помещается в память, на которую указывает 16-тиразрядный адрес, составленный 2 и 3 байтом команды.
Команда ввода (IN) – по сути, идентична команде загрузки, только здесь источником данных является порт ввода, который идентифицируется 8-миразрядным числом (адрес устройства ввода/вывода). Назначение данных из порта всегда аккумулятор.
Данные порта 00001111, на который указывает второй байт команды, передаются и размещаются в аккумулятор.