МПС 3 курс Практические задания 01 Адресация информации и вычисление адресов - BysonHunter/Tavrich_college GitHub Wiki

🏠 Главная · Микропроцессорные системы · 3 курс · Практические работы по МДК.02.01 «Микропроцессорные системы»


Практическая работа №1

Адресация информации и вычисление адресов

Цель работы

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

Задачи

  1. Рассмотреть прямую, непосредственную, косвенную, индексную и относительную адресацию.
  2. Научиться отличать адресный код команды от исполнительного адреса.
  3. Рассчитывать исполнительный адрес для заданных исходных данных.
  4. Сравнить способы адресации по сложности и количеству обращений к памяти.

1. Теоретические сведения

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

1.1. Непосредственная адресация

Операнд находится прямо в коде команды.

КОП | ОПЕРАНД

Пример:

MVI A, 25h

Здесь 25h — не адрес, а само значение.

1.2. Регистровая адресация

Операнд находится во внутреннем регистре процессора.

MOV A, B

Регистровая адресация обычно быстрее обращения к оперативной памяти.

1.3. Прямая адресация

Адрес операнда задаётся непосредственно в команде:

Aисп = Aк

Пример:

LDA 2050h

1.4. Косвенная адресация

Команда указывает на регистр или ячейку, содержащую адрес операнда.

команда → указатель → операнд

Для КР580ВМ80/Intel 8080 типичный пример — доступ через пару HL:

MOV A, M

где M означает ячейку памяти по адресу, находящемуся в HL.

1.5. Индексная адресация

Aисп = Aб + I

где:

  • Aб — базовый адрес;
  • I — содержимое индексного регистра.

1.6. Относительная адресация

Aисп = PC + D

где:

  • PC — счётчик команд;
  • D — смещение.

Важно. Индексная и PC-относительная адресация в этой работе рассматриваются как общие архитектурные способы адресации. Сам КР580ВМ80/Intel 8080 не имеет полноценных индексных регистров и относительных переходов в том виде, как более поздние процессоры.


2. Контрольные вопросы перед выполнением

  1. Чем адресный поиск отличается от ассоциативного?
  2. Что называют исполнительным адресом?
  3. Какая адресация не требует обращения к памяти за операндом?
  4. Чем непосредственная адресация отличается от прямой?
  5. Как вычисляется исполнительный адрес при индексной адресации?
  6. Как вычисляется исполнительный адрес при относительной адресации?
  7. Какие способы удобны при обработке массивов?

3. Задание

Пусть номер студента по журналу равен N.

Начальное содержимое аккумулятора:

A = N

Второй операнд:

X = N + 20

Необходимо показать, как выполнить:

A ← A + X

каждым способом адресации, указанным в варианте.

В аккумуляторе находится первое число, а второй операнд размещается в памяти или в коде команды.

Для каждого способа:

  1. укажите, где расположен X;
  2. покажите условный формат команды;
  3. вычислите исполнительный адрес, если он нужен;
  4. покажите получение операнда;
  5. выполните сложение;
  6. укажите результат:
Aрез = N + (N + 20) = 2N + 20

4. Варианты

Вар. Способы адресации Ячейка № Индексный регистр № Смещение Счётчик команд
01 косвенная, индексная, прямая 7 3 2 —
02 косвенная, индексная, непосредственная 7 1 3 —
03 индексная, косвенная, относительная 15 1 4 3
04 прямая, индексная, относительная 13 5 7 5
05 прямая, непосредственная, косвенная 5 1 — —
06 относительная, непосредственная, прямая 11 — 3 6
07 индексная, относительная, прямая 12 3 7 7
08 непосредственная, индексная, косвенная 10 7 3 —
09 прямая, косвенная, непосредственная 5 2 — —
10 прямая, индексная, косвенная 9 2 8 —
11 косвенная, индексная, прямая 6 4 2 —
12 косвенная, индексная, непосредственная 6 2 3 —
13 индексная, косвенная, относительная 14 2 4 3
14 прямая, индексная, относительная 12 6 7 5
15 прямая, непосредственная, косвенная 4 — — —
16 относительная, непосредственная, прямая 10 — 3 6
17 индексная, относительная, прямая 11 4 7 7
18 непосредственная, индексная, косвенная 11 6 3 —
19 прямая, косвенная, непосредственная 6 — — —
20 прямая, индексная, косвенная 8 3 8 —

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


5. Таблица оформления решения

Параметр Значение
Номер студента N
Начальное A
Второй операнд X=N+20
Способ адресации
Адресный код
Исполнительный адрес
Где хранится операнд
Полученный операнд
Результат в A

Пример для индексной адресации

Пусть:

Aб = 13
I = 7

Тогда:

Aисп = 13 + 7 = 20

Операнд размещается по исполнительному адресу 20.


6. Анализ результатов

При сравнении способов адресации учитывайте:

  • количество обращений к памяти;
  • длину команды;
  • возможность работы с массивами;
  • гибкость при перемещении данных в памяти;
  • необходимость дополнительных регистров;
  • скорость получения операнда.

Обычно регистровая и непосредственная адресация требуют меньше дополнительных обращений к памяти, а многоступенчатая косвенная — больше.


7. Содержание отчёта

  1. Название и цель работы.
  2. Краткое описание способов адресации.
  3. Выполненное задание по варианту.
  4. Таблицы формирования исполнительных адресов.
  5. Ответы на контрольные вопросы.
  6. Сравнительный анализ способов адресации.
  7. Вывод.

Практическая работа №2 →

Оригинал материала на GitHub