Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Выполнение лабораторной работы

ЛАБОРАТОРНАЯ РАБОТА №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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...