Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_КП_1801.doc
Скачиваний:
9
Добавлен:
27.08.2019
Размер:
2.81 Mб
Скачать

1.2. Адресное пространство

Шестнадцатиразрядный код адреса позволяет обращаться к 32К 16-разрядных ячеек. Нижние 4К адресов (1600008÷1777778) отведены под регистры внешних устройств. Однако пользователь не обязан использовать все адреса этого пространства исключительно для этой цели и может руководствоваться соображениями необходимости.

Как показано на рис. 3, слово делится на старший и младший байты. Ячейки, содержащие полные слова, всегда имеют четные адреса. Адреса байтов могут быть как четными, так и нечетными. Адрес младшего байта слова является четным и совпадет с адресом самого слова, адрес старшего байта слова является нечетным и на 1 больше адреса соответствующего слова (рис. 3). Адреса и данные принято записывать в 8-ричной системе исчисления (от 000000 до 177777). Организация памяти микропроцессора по словам и байтам для первых 4К адресов приведена на рис. 4.

15

8

7

0

Старший байт

Младший байт

Рис. 3. Формат слова микропроцессора

Слово

Байты

байт

байт

Старший

Младший

000000

Младший

000000

Старший

Младший

000002

Старший

000001

Старший

Младший

000004

Младший

000002

Старший

Младший

000006

Старший

000003

Старший

Младший

000010

Младший

000004

Старший

Младший

017772

Старший

017775

Старший

Младший

017774

Младший

017776

Старший

Младший

017776

Старший

017777

Рис. 4. Организация памяти микропроцессора по словам и байтам для первых 4К адресов

Часть адресов зарезервирована для использования при обработке внутренних и внешних прерываний программы (адреса 0÷3768)

Пример:

1.3. Методы адресации

1.3.1. Методы прямой адресации

№ метода адресации

Метод адресации

0

Регистровый

2

Автоинкрементный

4

Автодекрементный

6

Индексный

Метод поиска операнда схематично изображен на рис. 5.

Рис. 5. Методы прямой адресации

Прямая регистровая адресация (№0).

Правило: содержимое регистра, указанного в команде, используется как операнд. Байтовые команды всегда оперируют содержимым младшего байта регистра. При пересылке байта в регистр происходит расширение знака, при котором старший бит пересылаемого байта восемь раз копируется в старшем байте регистра-приемника.

Прямая автоинкрементная адресация (№2).

Правило: содержимое регистра, указанного в команде, используется как адрес операнда. Операнд извлекается, обрабатывается и возвращается по старому адресу. После извлечения операнда содержимое регистра увеличивается на 2 для словных команд и на 1 для байтных команд. Но если байтовая команда работает с R6 или с R7, то их содержимое всегда увеличивается на 2.

Прямая автодекрементная адресация (№4).

Правило: содержимое регистра, указанного в команде, вначале уменьшается на 2 для словных команд и на 1 для байтных команд и затем используется как адрес операнда. Операнд извлекается, обрабатывается и возвращается по старому адресу. Но если байтовая (байтная) команда работает с R6 или с R7, то их содержимое всегда уменьшается на 2.

Прямая индексная адресация (№6).

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