Выполнение лабораторной работы
ЛАБОРАТОРНАЯ РАБОТА №6 Маскирование данных и организация условных переходов
Учебные цели: Исследование методов программных способов маскирования данных и организация условных переходов в микропроцессорных системах Учебные задачи:
2. Закрепление полученных теоретических знания по программированию микропроцессорных систем. 3. Практически рассмотреть состояние различных узлов и устройств микропроцессора, а также компонентов микропроцессорной системы, используя программное моделирование.
Понятие и назначения использования маскирования данных при программировании команд управления
В различных ситуациях при выполнении программ необходимо проверять или изменять (маскировать) состояние одного или нескольких разрядов числа в аккумуляторе. Это можно осуществить с помощью следующих операций: ü Логическое умножение числа в аккумуляторе и маски – очищает разряд числа (устанавливает в 0), если в соответствующем разряде маски будет записан 0, и не изменяет его, если в этом разряде маски записана 1; ü Логическое сложение числа в аккумуляторе и маски – устанавливает разряд числа в 1, если в соответствующем разряде маски будет записана 1, и не изменяет его, если в этом разряде маски записан 0; ü Логическое "исключающее ИЛИ" числа в аккумуляторе и маски – инвертирует содержание разряда числа, если в соответствующем разряде маски будет записана 1, и не изменяет его, если в этом разряде маски записан 0.
Организация условных переходов в МПС на МП КР580ВМ80 осуществляется с помощью регистра признаков МП БИС. Регистр признаков имеет пять разрядов, каждый из которых устанавливается по определённому правилу в соответствии с выполнением МП БИС последней команды. Этими разрядами являются:
1. Разряд переноса С – СARRY. В него записывается «1», если при выполнении арифметической операции было переполнение аккумулятора, в противном случае в разряд записывается «0». 2. Разряд знака S – SIGN. В него записывается «1», если при выполнении арифметической или логической операции в старшем седьмом бите аккумулятора записана «1», в противном случае в разряд записывается «0». 3. Разряд первого результата Z – ZERO. В него записывается «1», если при выполнении арифметической или логической операции во всех разрядах аккумулятора «0», в противном случае разряд записывается «0». 4. Дополнительный разряд переполнения AC – AUX.CARRY. В него записывается «1», если при выполнении команд в аккумуляторе возникает единица переноса из третьего разряда числа. 5. Разряд четности P – PARITY. В него записывается «1», если при выполнении команды количество единиц в разрядах аккумулятора будет четным.
Программа П4.1. WAIT: IN 80 // Получит число из порта 80 ANI 20 // проверить состояние пятого разряда JZ WAIT // если 5-й разряд равен 0, то переход по метке WAIT. HLT // Останов.
При вводе 20h программа проходит одну итерацию. При вводе любого числа, в 5-м разряде которого есть 1, то результат тот же. При вводе любого другого числа программа зацикливается. Выполнение лабораторной работы Программа П4.2.
Wait1: IN 80 // Получить данные из порта 80 ANI 04 // проверить выставлен ли разряд 2 JZ Wait1 // если нет, то перейти на Wait1 MVI A,11h // записываем в A число 11h OUT 90 // Выводим это число в порт 90 Wait2: IN 80 // получить данные из порта 80 ANI 20 // проверить выставлен ли 5-й разряд JZ Wait2 // если разряд не выставлен, то переходим на Wait2 MVI A,00h // иначе записываем в A ноль и OUT 90 // выводим данные в порт 90 JMP Wait1 // Переход в начало программы.
При вводе числа 04h в порту вывода получается число 11h, и программа зацикливается.
При вводе числа 24h в порту вывода получается число 00h. При вводе числа 20h в порту должно быть число 00h, но программа зацикливается на проверке 2-го разряда. При вводе чисел, не содержащих единиц в 2-м и 5-м разрядах программа зацикливается.
WAIT: IN 80 // Получаем данные из порта 80 XRI 08h // проверяем есть ли ноль в 3-м разряде JNZ WAIT // если нет, то переходим на Wait HLT // если же в 3-м разряде ноль, то Останов. Ответы на контрольные вопросы: 1. 2. 3. 4.
Анализ результатов, полученных в ходе лабораторной работы: Программный раздел содержит наборы программ для исследования на языке ассемблера для микропроцессоров 8080.Каждой программе предпосланы введение и комментарии; за каждой программой следует по крайней мере один пример ее использования. При исследовании программ была получена следующая информация: назначение программы, процедуру ее выполнения, используемые регистры, размер памяти, необходимый для программы и ее данных, а также специальные случаи, входные и выходные условия. Программа П4.1 осуществляет ожидание простого (двоичного) события и при возникновении этого события формирует простое (двоичное) управление. В программе каждый бит порта с адресом 03h ассоциируется с некоторым событием от внешнего устройства, например, соответствует состоянию некоторого концевого переключателя технологического процесса. Таким образом, в технологическом процессе задействованы 8 концевых переключателей с номерами 0, 1, …, 7. Так же в технологическом процессе задействованы 8 исполнительных механизмов с номерами 0, 1, …, 7, могущих принимать выключенное состояние или включенное состояние (0 или 1). Каждому механизму соответствует свой бит порта с адресом 04h. Процессор принимает данные из портов 03h, 04h и выдает данные в порт 04h. Программа ожидает включение концевого переключателя с номером 5 (остальные переключатели могут при этом иметь произвольные состояния). В случае достоверности данного события программа включает механизм с номером 4, в противном случае она отключает этот механизм, если он не отключен. При этом программа не должна изменять состояния остальных механизмов. В программе 4.2 при наличии «1» лишь во втором разряде числа входного устройства светодиоды выходного регистра включены в микро – ЭВМ работает в цикле WAIT2 ожидания появления единицы в пятом разряде числа. Записать «0» во второй разряд входного устройства и убедиться, что светодиоды выходного устройства отключаются и микро – ЭВМ находится при выполнении цикла WAIT1 программы; установить «1» одновременно во втором и пятом разряде числа во входном устройстве и проверить, что микро – ЭВМ последовательно выполняет оба цикла программы.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|