Способы адресации данных и переходов в микроЭВМ 1816ВМ85а (I8085А): Методическое пособие по курсу "Основы микропроцессорной техники и прикладное программирование", страница 7



  Так как адрес операнда и тип преобразования  неизменны, то Коп имеет характер константы – 3Fh.

Код операции после считывания из программной памяти фиксируется в регистре IR.

После дешифрации, команда опознается, идентифицируется операнд и тип преобразования над ним. Исполнительная фаза – внутренняя.

Команда выполняется за один цикл и 4 такта.


К командам неявной адресации также относятся команды циклического сдвига  RRC, RLC, RAR, RAL.  В этих командах  подразумевается, что операндом является содержимое восьмиразрядного аккумулятора. Такое содержимое –  операнд в формате байт, а преобразование над ним–  сдвиг определенного типа.

Формат неявно адресуемого операнда в командахCMC, STC  – один бит.

Преобразованию в таких командах подлежит бит переноса CY регистра флагов процессора. Расположение операнда и тип преобразования предопределены и неизменны. Поэтому Коп  имеет характер константы и равны,  соответственно –

Все команды неявной адресации – однобайтные. Выполняются за один  цикл.

Команд неявной адресации – немного. Выполняемые ими преобразования – специфичны.




Однако, неявная адресация используется очень широко на уровне команды в целом. Например, все команды преобразования операндов используют этот тип адресации.

Стековая адресация данных. Адресация называется стековой, если для сохранения данные/адреса используется специальная область оперативной памяти, адресуемая указателем стека (SP). Указателем служит специальный внутренний 16-ти разрядный регистр – SP.

Такая адресация является частным случаем косвенной регистровой адресации.

Стековая адресация применяется в 1-байтных командах загрузки в стек PUSH PSW и PUSH rp и извлечения из стека POP PSW и POP rp. Кроме того, стековая адресация используется в 3-байтных командах безусловного CALL addr и условного вызова Ccond addr, безусловного RET и условного  возврата Rcond.

При выполнении команд стековой адресации выполняются следующие принципы.

Первое. Стековая адресация означает, что содержимое указателя стека SP является адресом ячейки памяти для хранения данных, причем этот адрес в неявном виде подразумевается в кодах соответствующих однобайтовых команд.

Второе. Оперируют эти команды с двумя байтами данных (словами). В командах PUSH rp и PUSH PSW источником операндов являются регистровые пары ВС, DЕ, НL, А и F, а приемником— ячейки памяти ((SP) – 1) и ((SP) – 2).  Декремент указателя стека SP при выполне­нии этих команд производится автоматически. В командах POP rp и POP PSW источником операндов являются ячейки памяти (SP) и {SP)+1, а получателем — пары регистров ВС, DЕ, Н L , А и F.

Третье. При выполнении этих команд инкремент указателя стека SP производится автоматически с установкой окончательного его значения (SP) + 2 или (SP) – 2.

В соответствии с этими принципами стековая адресация называется иногда непрямой с автоиндексацией.

Реализация стековой адресации  на примере команды загрузки в стек  PUSH rp иллюстрируется рисунком 21.




Процедура выполнения команды PUSH rp может быть описанатак.

В стеке требуется сохранить содержимое  BCh, BCl – т.е. старший  и младший байт регистровой пары BC.

Для этого выполняются  следующие шаги

Шаг1. (SP) ← (SP) –1 

Шаг2. ((SP)) ← (BCh)

Шаг3. (SP) ← (SP) –1 

Шаг4. ((SP)) ← (BCl)

Указатель стека после выполнения команды содержит  адрес (SP)–2.

Более детально процедуру реализации команды PUSH HLможно описать так.  

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

В первом машинном цикле OFпо адресу, содержащемуся в  PC, из программной памяти выбирается КК. Структура КК очевидна из Рис.21 . В КК в явном виде указан код регистровой пары – источника шестнадцатиразрядного операнда,

По коду операции процессором осуществляется

§  идентификация команды

§  определяется источник операнда

§  определяется источник адреса вершины стека – (SP)вер.

В следующем цикле MW(исполнительная фаза)  реализуются процедуры

Шаг1. (SP) ← (SP)вер –1 

Шаг2. ((SP)) ← (HLh)