Информационный обмен при выполнении команд различных типов

Однобайтные команды.

MOV R1, R2. Конкретно MOV B,C. Пусть команда расположена в памяти по адресу 0900Н. Машинный код команды – 41Н.

Алгоритм выполнения команды имеет вид:

 
  Информационный обмен при выполнении команд различных типов - student2.ru

Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru

РС: = РС + 1
Пересылка B: = С
Дешифрация кода операции
 
Прием в RI кода операции 41Н
Признак «ЧТ» MEM R на шину управления
Передача адреса 0900Н из РС на шину адреса
Пересылка происходит по внутренней шине данных

Информационный обмен при выполнении команд различных типов - student2.ru Команда MOV M, R. Конкретно MOV M,A Передача информации из аккумулятора в ячейку памяти М. Команда с косвенной адресацией. В момент выполнения этой команды адрес ячейки М хранится в регистровой паре H,L. Адрес команды 08000Н. Адрес ячейки 0950Н. Машинный код команды – 77Н.

Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru

РС: = РС + 1
  (( H,L)): = (А)
Признак «Зп» MEM W на шину управления
Передача адреса 0800Н из РС на шину адреса
Передача адреса из (H,L) на шину адреса
Дешифрация кода операции
Прием в RI кода операции 77Н
Признак «Чт» MEM R на шину управления
Информационный обмен при выполнении команд различных типов - student2.ru

Информационный обмен при выполнении команд различных типов - student2.ru

Двухбайтные команды.

Команда MVI R, data. Конкретно MVI B, 08Н.

Команда занимает в памяти два соседних байта. Начальный адрес – 0700Н. Машинный код команды – 06Н.

Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru

РС: = РС + 1
РС: = РС + 1
Передача data = 08Н на ШД и в RB
Признак «Чт» MEM R на ШУ
Передача адреса из РС на ША
Дешифрация кода операции
Прием в RI кода операции 06Н
Признак «Чт» MEM R на ШУ
Передача адреса из РС на ША
Информационный обмен при выполнении команд различных типов - student2.ru

Команда MVI M data. Конкретно MVI M 0ЕН. Записать в ячейку памяти, адрес которой хранится в паре (H,L), число 0ЕН. Команда занимает в памяти два байта. Начальный адрес команды 0700Н. Машинный код – 36Н. Адрес ячейки М – 0950Н.

Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru

РС: = РС +1
Запись числа 0ЕН в ячейку М
Признак «Зп» MEM W на ШУ
Информационный обмен при выполнении команд различных типов - student2.ru
Передача адреса из (H,L) на ША
Передача 0ЕН на внешнюю ШД
Признак «Чт» MEM R на ШУ
Передача адреса 0701Н на ША
РС: = РС +1  
Дешифрация кода операции
Прием в RI кода операции 36Н
Признак «Чт» MEM R на ШУ
Передача адреса 0700 из РС на ША

Трехбайтные команды.

Команда LXI rp data. Конкретно LXI D 0900H. Занести в регистровую пару DE адрес 0900Н. Команда занимает в памяти три байта. Начальный адрес команды 0800Н. Машинный код – 11Н.

 
  Информационный обмен при выполнении команд различных типов - student2.ru

Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru

Передача адреса 0802Н из РС на ША
Признак «Чт» MEM R на ШУ
РС: + РС =1
Передача ст. байта адреса в R W
Признак «Чт» MEM R на ШУ
РС: = РС +1
Дешифрация кода операции
Прием в RI кода операции 11Н
Признак «Чт» MEM R на ШУ
Передача адреса 0800Н из РС на ША
Информационный обмен при выполнении команд различных типов - student2.ru

       
  Информационный обмен при выполнении команд различных типов - student2.ru   Информационный обмен при выполнении команд различных типов - student2.ru
 

Информационный обмен при выполнении команд различных типов - student2.ru

РС: = РС + 1

 
  Информационный обмен при выполнении команд различных типов - student2.ru

Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru Информационный обмен при выполнении команд различных типов - student2.ru

РС: = РС + 1
((0750Н)) := (А)
Признак «Зп» MEM W на ШУ
Передача адреса из RGA на ША
(RGA) := (W,Z)
Передача мл.байта адреса в RG Z
Признак «Чт» MEM R на ШУ
Передача адреса 0902Н из РС на ША
РС: = РС + 1
Передача ст. байта адреса в RG W
Признак «Чт» MEM R на ШУ
Передача адреса 0901Н из РС на ША
Передача адреса 0900Н из РС на ША
РС: = РС + 1
Дешифрация кода операции
Прием в RI кода операции 3А Н
Признак «Чт» MEM R на ШУ
Информационный обмен при выполнении команд различных типов - student2.ru Команда LDA addr. Конкретно LDA 0750Н. Переслать содержимое аккумулятора в ячейку с адресом 0750Н. Команда занимает в памяти три байта. Начальный адрес команды 0900Н. Машинный код – 3АН.

Библиографический список

1. Коренев В.В., Киселев А.В. Современные микропроцессоры. М., «Нолидж». 1998.

2. Токхайм Р. Микропроцессоры. Курс и упражнения. М., Энегроатомиздат, 1988.

3. Юров В.А. Assembler. CПб, Питер, 2002.

Задание на контрольную работу

В контрольной работе необходимо по заданному варианту составить программу на языке Assembler для выполнения операции сложения двух чисел. Вариант задания определяется по последней цифре учебного шифра. Варианты заданий представлены в таблице 4.

В контрольной работе необходимо:

1.Заданные в десятичной системе счисления операнды перевести в 16-ричную систему счисления.

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

3. Составить программу выполнения операции сложения двух чисел на языке Assembler с комментариями и указать способы адресации каждой команды

4. Сделать контрольный пример и определить содержимое регистра признаков.

Таблица 4

Информационный обмен при выполнении команд различных типов - student2.ru Вари-ант Значения операндов Как заданы операнды С помощью каких команд происходит обмен Куда и как записываются результаты
-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

Пример. Написать программу сложения двух операндов, заданных следующим образом.

Информационный обмен при выполнении команд различных типов - student2.ru 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. Алгоритм выполнения операции выглядит следующим образом.

Информационный обмен при выполнении команд различных типов - student2.ru

Пусть программа расположена в памяти с начального адреса 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

Содержимое регистра признаков:

 
  Информационный обмен при выполнении команд различных типов - student2.ru

(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. Информационный обмен при реализации команд различных типов:

Наши рекомендации