Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессоры Токхайм / 8.3. СПОСОБЫ АДРЕСАЦИИ

.doc
Скачиваний:
178
Добавлен:
13.05.2015
Размер:
1.52 Mб
Скачать

8.3. СПОСОБЫ АДРЕСАЦИИ

Как и типовой МП, Intel 8085 использует пять способов адресации, а именно: неявную, регистровую, непосредст­венную, прямую, косвенную регистровую.

Неявная адресация. Команда STC (восстановить ин­дикатор переноса) относится только к индикатору пере­носа и никакому другому регистру или памяти.

Регистровая адресация. Когда используются команды с этим способом адресации, операция и источник операнда точно определены (см. рис. 8.8, где показано выполнение

команды ADD С). В этом примере операнд в регистре источника (регистр С) складывается с операндом, содер­жащимся в аккумуляторе. После того как команда ADD С выполнена, сумма (0000 11112) помещается в аккумулятор. Обычно результат влияет на индикаторы регистра состоя­ния.

Два операнда являются содержимым внутренних реги­стров МП (А и С). Команды регистровой адресации очень эффективны в том смысле, что используют только один байт памяти программы. Они быстро выполнимы, так как не используют операцию извлечения данных из памяти.

Непосредственная адресация. Команды непосредствен­ной адресации являются командами, по которым данные следуют непосредственно за КОП. В качестве примера на рис. 8.9 показана команда ADI (непосредственное СЛО­ЖЕНИЕ). Микропроцессор извлекает КОП (С6Н в этом случае) из памяти программы. После декодирования МП определяет, что речь идет о команде с непосредственной адресацией. Он находит данные в ячейке памяти, следу­ющей непосредственно за ячейкой, содержащей КОП. Эти следующие непосредственно за КОП данные (0000 10002) складываются с содержимым аккумулятора (0000 11002), где и помещается сумма (0001 01002).

Все команды непосредственной адресации МП Intel 8085, за исключением двух, используют аккумулятор как неяв­ный операнд (например, команда ADI на рис. 8.9). Две

команды являются необычными — MVI (передать непо­средственно), которая может передать данные, следующие непосредственно за КОП, в любой регистр или память, и команда LXI (загрузить непосредственно пару регистров), которая загружает 16-разрядное число в пару регистров. Эти команды, следовательно, не связаны с аккумулятором.

Прямая адресация. Операции, использующие прямую адресацию, точно описываются трехбайтовым форматом команд (рис. 8.10,а). Первый байт содержит КОП коман­ды прямой адресации, второй — МБ и третий — СБ адреса операнда.

На рис. 8.10,б представлено выполнение команды LDA (загрузить А прямо) микропроцессором Intel 8085. Три бай­та команды представлены внизу слева. Код операции LDA— ЗАН, следующих 2 байта составляют 16-разрядный адрес (0200Н), и ячейка памяти данных с адресом (0200Н) за­гружается МП. Содержимое (1111 11112) этого адреса за­гружается в аккумулятор.

Косвенная регистровая адресация. Команды с такой адресацией обращаются в память, используя содержимое пары регистров для указания на адрес операнда. На рис. 8.11 приведен пример этого типа команд. Команда ADD М (сложить память) складывает содержимое ячейки памяти

по адресу, на который указывает пара регистров HL МП, с содержимым аккумулятора. В этом случае HL указыва­ет на ячейку памяти 2050Н, операнд (0000 00012) в этой ячейке памяти складывается с содержимым аккумулятора (1111 11112), т.е. 0000 0001.+ 1111 1111 = 1 0000 0000. Во­семь наименее значимых бит суммы помещаются в акку­мулятор после выполнения команды ADD М, а соответст­вующие индикаторы в зависимости от результата устанав­ливаются или сбрасываются.

Комбинированные способы адресации. Несколько команд МП Intel 8085 используют сочетание различных способов адресации. Вызов подпрограммы CALL, напри­мер, сочетает прямую и косвенную регистровую адресации. Прямой адрес в CALL точно описывает адрес вызываемой подпрограммы, адрес косвенного регистра является адре­сом указателя стека. Команда CALL помещает в стек прежде всего текущее содержимое счетчика команд по точно описанному указателем стека адресу, затем процес­сор загружает адрес прямо в счетчик команд. Наконец МП ветвится на подпрограмму, адрес которой является теперь содержимым счетчика команд.

Упражнения

8.26. Перечислить пять способов адресации МП Intel 8085.

Команда CMC (инвертировать перенос) МП Intel 8085 воздействует только на индикатор переноса, но не на другие регистры или память. Она использует, следо­вательно, _________ (прямую, неявную) адресацию.

Команда MOV В, А (передает А в В) передает содержимое одного регистра в другой. Команда MOV В, А

использует, таким образом, ______ (непосредственную,

регистровую) адресацию.

8.29. См. рис. 8.12. У команды MVI А _____ (неявная,

непосредственная) адресация.

8.30. См. рис. 8.13. У команды SUB М _______ (регистровая, косвенная регистровая) адресация.

8.31. См. рис. 8.13. Первый член находится в аккумуляторе, второй — в ячейке памяти ____.

Решения

8.26. Неявная, регистровая, непосредственная, прямая, косвенная регистровая. 8.27. Неявную. 8.28. Регистровую. 8.29. Непосредственная. 8.30. Косвенная регистровая. 8.31. 2060Н.