page21
5. Система команд
5.1.
Методы
адресации
Одним из важнейших показателей мощности системы команд любого микропроцессора
является количество методов адресации. Под методом адресации понимается способ обращения
команды
к
обрабатываемому
операнду.
Различные
методы
адресации
необходимы,
с
одной
стороны, для удобства программирования, с другой, для эффективной работы программ.
Далее рассмотрены методы адресации, используемые в системе команд МП Z80.
Непосредственная адресация.
При
таком
методе
адресации
операнд
находится
в
памяти
непосредственно
за
кодом
операции команды. Он может быть 8 или 16-битной константой. Формат команд в этой случае:
Код операции
1 или 2 байта
d7
d6
d5
d4
d3
d2
d1
d0
Операнд
Код операции
1 или 2 байта
d7
d6
d5
d4
d3
d2
d1
d0
Младший байт операнда
d7
d6
d5
d4
d3
d2
d1
d0
Старший байт операнда
Регистровая адресация.
В этом случае операнд находится в регистре либо в паре регистров ЦП. Регистр адресуется
тремя битами, входящими в код операции, пара регистров - двумя.
Косвенная адресация.
При этой методе адресации операнд находится в ячейке памяти, адрес которой содержится
в одной из регистровых пар ВС, DE или HL.
Абсолютная адресация.
За кодом операции в этом случае следуют два байта (16 бит), которые являются адресом.
Это может быть адрес данных в памяти, адрес перехода или адрес подпрограммы.
Код операции
1 или 2 байта
d7
d6
d5
d4
d3
d2
d1
d0
Младший байт операнда
d7
d6
d5
d4
d3
d2
d1
d0
Старший байт операнда
Модифицированная нуль-страничная адресация.
Адресное пространство микропроцессора условно можно разбить на страницы по 4К. Тогда
к нулевой странице будут относиться адреса 0000H…1000H. МП Z80 имеет специфический вид
адресации, когда в коде операции 3 бита, задают модифицированный адрес рестарта. Эти адреса
располагаются на нулевой странице области памяти МП. Команда состоит из одного байта:
1
1
t5
t4
t3
1
1
1
Код операции RST p
А эффективный адрес рестарта будет:
0 0 0 0 0 0 0 0 0 0 t5 t4 t3 0 0 0 B,
или 00H, 08h, 10H, 18H, 20h, 28H, 30H и 38H.
Следующие три вида адресации МП Z80 существенно расширяют его возможности по
сравнению с I8080.
Относительная адресация.
Этот вид адресации может использоваться командами условного и безусловного переходов.
В каком случае они состоят из двух байтов: первый байт содержит код операции, а второй -
смещение в дополнительном коде. Действительный адрес получается прибавлением смещения к
текущему значению счетчика команд.