Однобайтные команды.
MOV R1, R2. Конкретно MOV B,C. Пусть команда расположена в памяти по адресу 0900Н. Машинный код команды – 41Н.
Алгоритм выполнения команды имеет вид:
Прием в RI кода операции 41Н | |
Признак «ЧТ» MEM R на шину управления | |
Передача адреса 0900Н из РС на шину адреса | |
Пересылка происходит по внутренней шине данных
Команда MOV M, R. Конкретно MOV M,A Передача информации из аккумулятора в ячейку памяти М. Команда с косвенной адресацией. В момент выполнения этой команды адрес ячейки М хранится в регистровой паре H,L. Адрес команды 08000Н. Адрес ячейки 0950Н. Машинный код команды – 77Н.
Признак «Зп» MEM W на шину управления | |
Передача адреса 0800Н из РС на шину адреса | |
Передача адреса из (H,L) на шину адреса | |
Прием в RI кода операции 77Н | |
Признак «Чт» MEM R на шину управления | |
Двухбайтные команды.
Команда MVI R, data. Конкретно MVI B, 08Н.
Команда занимает в памяти два соседних байта. Начальный адрес – 0700Н. Машинный код команды – 06Н.
Передача data = 08Н на ШД и в RB | |
Передача адреса из РС на ША | |
Прием в RI кода операции 06Н | |
Передача адреса из РС на ША | |
Команда MVI M data. Конкретно MVI M 0ЕН. Записать в ячейку памяти, адрес которой хранится в паре (H,L), число 0ЕН. Команда занимает в памяти два байта. Начальный адрес команды 0700Н. Машинный код – 36Н. Адрес ячейки М – 0950Н.
Запись числа 0ЕН в ячейку М | |
Передача адреса из (H,L) на ША | |
Передача 0ЕН на внешнюю ШД | |
Передача адреса 0701Н на ША | |
Прием в RI кода операции 36Н | |
Передача адреса 0700 из РС на ША | |
Трехбайтные команды.
Команда LXI rp data. Конкретно LXI D 0900H. Занести в регистровую пару DE адрес 0900Н. Команда занимает в памяти три байта. Начальный адрес команды 0800Н. Машинный код – 11Н.
Передача адреса 0802Н из РС на ША | |
Передача ст. байта адреса в R W | |
Прием в RI кода операции 11Н | |
Передача адреса 0800Н из РС на ША | |
Передача адреса из RGA на ША | |
Передача мл.байта адреса в RG Z | |
Передача адреса 0902Н из РС на ША | |
Передача ст. байта адреса в RG W | |
Передача адреса 0901Н из РС на ША | |
Передача адреса 0900Н из РС на ША | |
Прием в RI кода операции 3А Н | |
Команда LDA addr. Конкретно LDA 0750Н. Переслать содержимое аккумулятора в ячейку с адресом 0750Н. Команда занимает в памяти три байта. Начальный адрес команды 0900Н. Машинный код – 3АН.
Библиографический список
1. Коренев В.В., Киселев А.В. Современные микропроцессоры. М., «Нолидж». 1998.
2. Токхайм Р. Микропроцессоры. Курс и упражнения. М., Энегроатомиздат, 1988.
3. Юров В.А. Assembler. CПб, Питер, 2002.
Задание на контрольную работу
В контрольной работе необходимо по заданному варианту составить программу на языке Assembler для выполнения операции сложения двух чисел. Вариант задания определяется по последней цифре учебного шифра. Варианты заданий представлены в таблице 4.
В контрольной работе необходимо:
1.Заданные в десятичной системе счисления операнды перевести в 16-ричную систему счисления.
2. Составить машинно-ориентированный алгоритм выполнения операции сложения двух чисел.
3. Составить программу выполнения операции сложения двух чисел на языке Assembler с комментариями и указать способы адресации каждой команды
4. Сделать контрольный пример и определить содержимое регистра признаков.
Таблица 4
Вари-ант | Значения операндов | Как заданы операнды | С помощью каких команд происходит обмен | Куда и как записываются результаты |
| -52 | Data 0800 Н | MVI B, data MOV D,M | 0A00 H STAX rp |
| -34 -19 | 0750 H data | LDAX BC MVI M, data | 0950 H STA addr |
| -27 | Data Data | MVI B, data MVI C, data | 0800 H MOV M, A |
| -52 | 0800 H 0900 H | MOV B, M MOV C, M | 0950 H STAX rp |
| -19 | Data 0900 H | MVI C, data LDAX DE | 0850 H STA addr |
| | 0800 H 0900H | MOV C, M LDAX DE | 0850 H STAX rp |
| -48 | Data Data | MVI B, data MVI C, data | 0840 H MOV M, A |
| -17 | 0950H 0900 H | LDAX DE MOV C, M | 0980 H STA addr |
| -23 | 0900H data | MVI M,data MVI C,data | 0950H STAX rp |
| -76 | 0920 H 0930 H | MOV R, M LDAX DE | 0980 H MOV M, R |
Пример. Написать программу сложения двух операндов, заданных следующим образом.
1 №/№ | -47 | 0920 Н Data | MOV C, M MVI B, data | 0970 H STA addr |
Операнд 71D задан в ячейке памяти с адресом 0920Н; операнд ( -47D) задается вторым байтом в коде команды. Для организации информационного обмена внутри процессора необходимо использовать команды из столбца 4. Результат необходимо отправить в ячейку памяти с адресом 0970Н, используя команду STA addr.
1. 71D = 47Н; -47D = E1H.
2. Алгоритм выполнения операции выглядит следующим образом.
Пусть программа расположена в памяти с начального адреса 0800Н. Программа на языке Assembler имеет вид:
Адрес | мнемоника | комментарий |
0800H 0801H 0802Н | LXI H 0920H | Записать в регистровую пару H,L адрес 0920Н. Команда с непосредственной адресацией по приемнику информации, с регистровой адресацией по приемнику информации. |
0803Н 0804Н | MVI M,47H | Записать в ячейку памяти с адресом 0920Н число 47Н. Команда с непосредственной адресацией по источнику информации, с косвенной адресацией по приемнику информации. |
0805Н 0806Н | MVI B, E1H | Записать в регистр В число Е3Н. Команда с непосредственной адресацией по источнику информации, с косвенной адресацией по приемнику информации. |
0807Н | MOV C, M | Переслать в регистр С число из ячейки с адресом 0920Н. Команда с косвенной адресацией. |
0808Н | MOV A,B | Переслать в аккумулятор содержимое регистра В. Команда с регистровой адресацией. |
0809Н | ADD C | Сложить содержимое аккумулятора с содержимым регистра С. Результат оставить в аккумуляторе. Команда с регистровой адресацией по источнику информации, с неявной адресацией по приемнику. |
080АН 080ВН 080СН | STA 0970H | Переслать результат в ячейку памяти с адресом 0970Н. Команда с прямой адресацией. |
080DH | NOP | Пустая команда. Конец программы. |
Контрольный пример.
+71D = 01000111В
-47D = 11010001В
S =00011000B = +24D
Содержимое регистра признаков:
(RS) = 07. Сравнить со значением в Приложении 2.
Вопросы к экзамену
1. Представление чисел в ЭВМ. Системы счисления (СС).
2. Полиномиальное представление числа в позиционной системе счисления. Вес разряда. Используемые в ЭВМ СС.
3. Перевод целых чисел из одной СС в другую.
4. Перевод правильных дробей из одной СС в другую.
5. Перевод 8-ричных и 16-ричных чисел в двоичную СС. Обратные преобразования.
6. Формы представления чисел в машине (числа с плавающей и с фиксированной точкой).
7. Кодирование чисел в машине. Прямой, обратный и дополнительный коды.
8. Сложение чисел в машинах с фиксированной точкой. Переполнение разрядной сетки.
9. Обобщенная архитектура микропроцессорной системы. Назначение устройств (CPU, ROM, RAM, ШД, ША, ШУ).
10. Обобщенная архитектура микропроцессора. Назначение функциональных блоков.
11. Обобщенный алгоритм выполнения команды.
12. Система команд МП 8080. Классификация команд по назначению.
13. Структура команды. Формат команды.
14. Способы адресации. Классификация команд по типу адресации.
15. Команды передачи управления.
16. Понятие подпрограммы. Использование команд CALL и RET для организации подпрограмм.
17. Типы программ. Линейные и разветвляющиеся программы.
18. Циклические программы. Способы организации счетчика циклов.
19. Программная модель МП. Слово состояния процессора.
20. Информационный обмен при реализации команд различных типов: