МПС 3 курс Практические задания 01 Адресация информации и вычисление адресов - BysonHunter/Tavrich_college GitHub Wiki
🏠 Главная · Микропроцессорные системы · 3 курс · Практические работы по МДК.02.01 «Микропроцессорные системы»
Практическая работа №1
Адресация информации и вычисление адресов
Цель работы
Изучить основные способы адресации операндов и научиться вычислять исполнительный адрес при различных способах формирования адреса.
Задачи
- Рассмотреть прямую, непосредственную, косвенную, индексную и относительную адресацию.
- Научиться отличать адресный код команды от исполнительного адреса.
- Рассчитывать исполнительный адрес для заданных исходных данных.
- Сравнить способы адресации по сложности и количеству обращений к памяти.
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. Контрольные вопросы перед выполнением
- Чем адресный поиск отличается от ассоциативного?
- Что называют исполнительным адресом?
- Какая адресация не требует обращения к памяти за операндом?
- Чем непосредственная адресация отличается от прямой?
- Как вычисляется исполнительный адрес при индексной адресации?
- Как вычисляется исполнительный адрес при относительной адресации?
- Какие способы удобны при обработке массивов?
3. Задание
Пусть номер студента по журналу равен N.
Начальное содержимое аккумулятора:
A = N
Второй операнд:
X = N + 20
Необходимо показать, как выполнить:
A ← A + X
каждым способом адресации, указанным в варианте.
В аккумуляторе находится первое число, а второй операнд размещается в памяти или в коде команды.
Для каждого способа:
- укажите, где расположен
X; - покажите условный формат команды;
- вычислите исполнительный адрес, если он нужен;
- покажите получение операнда;
- выполните сложение;
- укажите результат:
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. Содержание отчёта
- Название и цель работы.
- Краткое описание способов адресации.
- Выполненное задание по варианту.
- Таблицы формирования исполнительных адресов.
- Ответы на контрольные вопросы.
- Сравнительный анализ способов адресации.
- Вывод.