Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабораторные работы / Маскирование данных и организация условных переходов

.DOC
Скачиваний:
54
Добавлен:
21.02.2014
Размер:
52.74 Кб
Скачать

БАЛАКОВСКИЙ ИНСТИТУТ ТЕХНИКИ, ТЕХНОЛОГИИ И УПРАВЛЕНИЯ

ФАКУЛЬТЕТ ИНЖЕНЕРНО-СТРОИТЕЛЬНЫЙ

КАФЕДРА УПРАВЛЕНИЕ И ИНФОРМАТИКА В ТЕХНИЧЕСКИХ СИСТЕМАХ

Лабораторная работа №2

по дисциплине

Микропроцессорные устройства

Маскирование данных и организация условных переходов

Выполнили ст. гр. УИТ-51

Павлов А.А.

Мельников А.А.

Симакин С.Е.

Захарочкин А.П.

Принял

Грицюк С.Н.___________

“_____” ___________2004г

2004

Цель работы: изучение программных способов маскирования данных и организации условных переходов в микроЭВМ.

Задание 1

Заполнить таблицу для команд. Проверить правильность заполнения на учебном микропроцессорном комплексе.

Команда

Где операнд

Маска

Число в A

Регистр F

до

после

до

после

ANA R

В регистре

0101 1000

0011 1110

0001 1000

00000010

00000110

XRI D

В команде

0101 1000

0011 1110

0100 0110

00000010

00000010

CMP M

В памяти

0101 1000

0011 1110

0011 1110

00000010

00000011

ANA M

В памяти

1001 0010

0011 1110

0001 0010

00000010

00000110

XRA A

В аккумул.

1001 0010

0011 1110

1100 0001

00000010

10000010

CPI D

В команде

1001 0010

0011 1110

0011 1110

00000010

00000011

ANI D

В команде

0001 1101

0011 1110

0001 1100

00000010

00000010

XRA M

В памяти

0001 1101

0011 1110

0010 0011

00000010

00000010

CMP R

В регистре

0001 1101

0011 1110

0011 1110

00000010

00000010

Вывод. Производить маскирование команд можно, используя операнды в памяти, в регистре и непосредственные операнды (в коде команды). Функция AND (команды ANA и ANI) позволяет сбрасывать, функция OR (ORA и ORI) – устанавливать, а функция XOR (XRA и XRI) - инвертировать необходимые биты операнда. Команды сравнения CMP и CPI позволяют сравнивать два числа.

Также установлено, что команда XRA A обнуляет регистр аккумулятор.

Задание 2

Написать программы и отладить на учебном микропроцессорном комплексе.

2.1 Сравнить числа, записанные по адресам 0B00 и 0B01, и записать большее из них в регистр B.

0800 21 000B LXI HL,0B00

0803 7E MOV A,M

0804 23 INX HL

0805 46 MOV B,M

0806 B8 CMP B

0807 FA 0B08 JM 080B

080A 47 MOV B,A

080B CF RST1

2.2 Пользуясь логическими командами, проверить первый и четвёртый разряды числа 6210 и, если они равны 0, установить в них 1.

Переведём число 62 в двоичную и шестнадцатеричную системы:

6210 = 3E16 = 001111102

Просто установив первый и четвёртый разряды, мы выполним поставленное требование.

0800 46 3E MVI B,3E

0802 78 MOV A,B

0803 F6 12 ORI 12 00010010

0805 4F MOV C,A

0806 CF RST1

Вывод. Получены практические навыки по программированию в ассемблере и машинных кодах.