Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OMT&МП2.doc
Скачиваний:
10
Добавлен:
13.11.2019
Размер:
2.35 Mб
Скачать

Задание для домашней подготовки

1. Рассмотрите правила выполнения команд:

MOV В, С (код 41), MVI M, data (36), LDAX В (ОА), LXI H, d16 (21).

2. Разработайте четыре программы сложения двух чисел, используя вышеперечисленные способы адресации.

Задание для выполнения в лаборатории

1. Ввести в УМК разработанные программы.

2. Осуществить пуск программы, проанализировать результат.

3. Исследовать процесс выполнения программ по машинным циклам.

Указания по оформлению отчета

1. Приведите порядок выполнения команд, приведенных в п.1 задания для домашней подготовки.

2. Приведите разработанные программы и дайте анализ результатов их выполнения согласно таблице.

Таблица 2.1

Таблица исследования программ

Адрес

Код

операции

Содержание команды

Содержание сигналов состояния

Контрольные вопросы

  1. Перечислите способы адресации в системе команд микропроцессора К580ВМ80А.

  2. Какие способы адресации операндов используются в команде INR A?

  3. Какие способы адресации операндов используются в команде MVI M, 15 ?

  4. Какие способы адресации операндов используются в команде LDAX В ?

  5. Какие способы адресации операндов используются в команде PUSH H ?

  6. Какие способы адресации операндов используются в команде SHLD 0458 ?

  7. Какие способы адресации операндов используются в команде STAX D ?

ЛАБОРАТОРНАЯ РАБОТА № 3

МАСКИРОВАНИЕ ДАННЫХ.

ОРГАНИЗАЦИЯ УСЛОВНЫХ ПЕРЕХОДОВ

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

Теоретическая часть

Организация условных переходов в микроЭВМ осуществляется с помощью регистра признаков МП.

Регистр признаков имеет пять значимых для программиста разрядов. Каждый из признаков устанавливается по определенному правилу в соответствии с результатом выполнения МП последней команды. Этими разрядами являются:

1) разряд переполнения (переноса) С - САRRY(D0). В него за­писывается 1, если при выполнении арифметической команды или команды сдвига было переполнение аккумулятора, в противном случае в разряд записывается 0;

2) разряд четности Р - РАRITY (D2). В него записывается 1, если при выполнении команды количество единиц в результате операции будет четным;

3) разряд вспомогательного переноса АС-АUХ. САRRY (D4). В него записывается 1, если при выполнении команд в аккумуляторе возникает единица переноса из третьего разряда числа в четвертый;

4) разряд нулевого результата Z-ZERO (D6). В него записывается 1, если при выполнении арифметической или логической команды результат операции равен нулю;

5) разряд знака S- SIGN (D7). В него записывается 1, если арифметической или логической командой в старшем, седьмом разряде результата операции записана 1, в противном случае в разряд записывается 0.

Во многих случаях при выполнении программ необходимо проверять или изменять (маскировать) состояние одного или нескольких разрядов числа в аккумуляторе. Это можно осуществить с помощью следующих операций:

1. Логического умножения числа в аккумуляторе и маски, которое очищает разряд числа, если в соответствующем разряде маски будет записан 0, и не изменяет его, если в разряде маски записана 1. Команда ANI

2. Логическое сложение числа в аккумуляторе и маски, которое устанавливает разряд числа в 1, если в таком же разряде маски записана 1 и не изменяет его, если в этом же разряде записан 0. Команда ORI.

3. Логическое "исключающее ИЛИ" числа в аккумуляторе и маски, которое инвестирует содержание разряда числа, если в соответствующем разряде маски записана 1, и не изменяет его, если в этом разряде записан 0. Команда XRI.

При выполнении логических команд задействуются разряды Z,S,P, АС регистра признаков (в разряд С записывается 0). Это позволяет проверить состояние любого числа и выполнить условие перехода в программах. При выполнении команд условного перехода МП проверяет состояние соответствующего разряда регистра признаков. Если при проверке состояния разряда регистра признаков условие не подтверждается, то выполняется следующая по порядку команда программы.

Рассмотрим следующую программу, составленную на языке АССЕМБЛЕРА.

Программа 3.1.

Метки

Код

Операнды

Комментарий

КОД

MASKA

MOV

MVI

ANA

JZ

CPI

JZ

CPI

JZ

JMP

В, М

A, data

В

Addr M1

00000100

Addr M2

00001000

M3

Данные - в регистр В

Маска 00001100

А = A^В

А равно 00000000 ?

Если, да. то на метку М1

А равно 00000100 ?

Если да ,на М2

А равно 00001000 ?

Если да, на М3

Иначе, на окончание программы

Пояснения к программе 3.1.

Если восьмиразрядное число В во втором и третьем разрядах содержит код 00, то следует передать управление на метку MI , если там код 01, то на метку М2, если 10, то на МЗ, и если II, останов программы. Выделение нужных разрядов (маскирование) производится в программе с помощью логического умножения числа КОД на число МАСКА - 00001100.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]