- •Описание лабораторного макета
- •Устройство умк
- •2. Подготовка умк к работе
- •3. Порядок работы
- •3.1. Описание клавиатуры.
- •Индикация и изменение содержимого памяти.
- •3.3. Индикация и изменение содержимого регистров.
- •3.4. Передача управления программе пользователя.
- •3.6. Заполнение массива памяти константой.
- •3.8. Прерывание выполнения программы пользователя.
- •3.9. Пошаговое выполнение программ.
- •Лабораторная работа № 1 запись и выполнение простых программ
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 2 виды адресации и команды пересылок
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Указания по оформлению отчета
- •Контрольные вопросы
- •Организация циклов
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5 выполнение арифметических операций
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Методические указания
- •Способы адресации процессора к1801
- •Форматы команд микропроцессора кр 1801:
- •Коды способов адресации процессора к1801
- •Задание для домашней подготовки
- •Команды переходов
- •Пример 9.2.
- •Пример 9.3
- •Задание для выполнения в лаборатории
- •Контрольные вопросы
- •Лабораторная работа № 10 выполнение арифметических операций в машинных кодах микропроцессора к1801вм1
- •Теоретическая часть
- •Умножение
- •Деление
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Указания по оформлению отчета
- •Контрольные вопросы
- •Приложения
- •Система команд микропроцессора кр580вм80а
- •Система команд мп к1801вм1 Одноадресные команды
- •Двухадресные команды
- •Регистровые команды
- •Команды управления
- •Команды прерываний и специальные команды
- •Изменение кодов условий
- •Условные обозначения
- •Время выполнения команд мп к1801вм1
- •1. Устройство умк 3
Задание для домашней подготовки
1. Рассмотрите правила выполнения команд:
MOV В, С (код 41), MVI M, data (36), LDAX В (ОА), LXI H, d16 (21).
2. Разработайте четыре программы сложения двух чисел, используя вышеперечисленные способы адресации.
Задание для выполнения в лаборатории
1. Ввести в УМК разработанные программы.
2. Осуществить пуск программы, проанализировать результат.
3. Исследовать процесс выполнения программ по машинным циклам.
Указания по оформлению отчета
1. Приведите порядок выполнения команд, приведенных в п.1 задания для домашней подготовки.
2. Приведите разработанные программы и дайте анализ результатов их выполнения согласно таблице.
Таблица 2.1
Таблица исследования программ
Адрес |
Код операции |
Содержание команды |
Содержание сигналов состояния |
|
|
|
|
Контрольные вопросы
Перечислите способы адресации в системе команд микропроцессора К580ВМ80А.
Какие способы адресации операндов используются в команде INR A?
Какие способы адресации операндов используются в команде MVI M, 15 ?
Какие способы адресации операндов используются в команде LDAX В ?
Какие способы адресации операндов используются в команде PUSH H ?
Какие способы адресации операндов используются в команде SHLD 0458 ?
Какие способы адресации операндов используются в команде 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.