- •1 Техническое задание
- •1.1 Назначение
- •1.2 Технические характеристики устройства
- •2 Описание схемы электрической принципиальной устройства
- •3 Обоснование выбора микропроцессора
- •4 Описание микропроцессора
- •Шина адреса
- •Шина данных
- •Шина синхронизации и управления
- •Шина питания
- •Регистровая структура микропроцессора Регистры общего назначения
- •Индексные регистры
- •Счётчик команд
- •Указатель стека
- •Прочие регистры
- •Система прерываний
- •Флаги управления прерываниями
- •Немаскируемые прерывания
- •Маскируемые прерывания
- •Приоритет прерываний
- •Система команд
- •Методы адресации
- •Неявная адресация
- •Регистровая адресация
- •Непосредственная адресация
- •Косвенная адресация
- •Абсолютная адресация
- •Относительная адресация
- •Индексная адресация
- •Битовая адресация
Абсолютная адресация
Адрес операнда является частью кода команды и занимает два байта, расположенных в порядке “младший–старший”. Он может определять как ячейку памяти, содержащую операнд для инструкции обработки данных, так и адрес следующей команды в инструкции перехода.
Адрес перехода записывается в инструкции явным образом: JP 1234h, а адрес операнда заключается в круглые скобки: LD A,(1234h). В описании форматов кодов команд для обозначения абсолютного адреса используется запись aa.
Относительная адресация
Этот вид адресации используется в некоторых командах переходов. Код команды состоит из двух байтов. В первом содержится код операции, во втором – 8-разрядное смещение в дополнительном коде. Адрес перехода получается путём прибавления смещения, расширенного до 16 разрядов, к текущему содержимому счётчика команд PC (он всегда указывает на следующую инструкцию, в данном случае следующую непосредственно за командой перехода).
Поскольку смещение имеет длину 8 разрядов, с его помощью возможно осуществить переход на 128 байтов назад или на 127 байтов вперёд относительно команды, следующей за инструкцией перехода.
Адрес перехода записывается в инструкции явным образом, при этом транслятор языка ассемблера автоматически вычисляет необходимое значение
смещения: JR 8123h. В описании форматов кодов команд для смещения, используемого в относительной и индексной (см. ниже) адресации, применяется обозначение d.
Индексная адресация
Операнд располагается в памяти. Его адрес определяется сложением содержимого указанного индексного регистра (IX или IY) и 8-разрядного смещения в дополнительном коде, являющегося частью кода команды.
Используемый индексный регистр определяется первым байтом кода команды: значение 0DDh соответствует регистру IX, а значение 0FDh – регистру IY. Второй байт является кодом операции. Смещение занимает третий байт кода команды. На языке ассемблера индексная адресация обозначается суммой индексного регистра и смещения, заключённой в круглые скобки: LD B,(IX+10h). В описании форматов кодов команд для смещения, используемого в относительной (см. выше) и индексной адресации, применяется обозначение d.
Битовая адресация
Этот вид адресации применяется в инструкциях, работающих с отдельными битами. Байт, содержащий обрабатываемый бит, определяется регистровой, косвенной (через регистровую пару HL) или индексной адресацией. Номер обрабатываемого разряда указывается тремя битами, содержащимися в последнем байте кода команды. В битовых инструкциях всегда присутствует два операнда. Первый из них определяет номер обрабатываемого разряда и задаётся числом от 0 до 7, преобразуемым транслятором языка ассемблера в трёхразрядный двоичный код; в описании форматов кодов команд он обозначается b. Второй операнд определяет регистр или ячейку памяти, над одним из битов которой выполняется операция, и записывается с использованием регистровой, косвенной (с регистровой парой HL) или индексной адресации: BIT 3,(IY-7).
|
|
|
|
|
УИТС.418461.303 ПЗ
|
Лист |
|
|
|
|
|
| |
Изм. |
Лист |
№ документа |
Подпись |
Дата |