Снос зданий:
ecosnos.ru
Главная  Микроустройства: номенклатура изделий электронной промышленности 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [ 58 ] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

Абсолютная адресация. Адресное выражение Q # Е опреде-. ляет абсолютный адрес, которУй хранится как 2-е или 3-е слово инструкции. Абсолютная адресация является модификацией авто-инкреметной косвенной адресации, когда в качестве указателя используется содержимое регистра команд. Формат для А: Q) # Е. Примеры инструкций: MOV й) # 200, R1, CLR д) # X. Первая инструкция выполняет пересылку содержимого ячейки 200 в регистр R 1. Вторая инструкция выполняет очистку содержимого ячейки, адрес которой определяется значением символа X.

Относительная адресация. Относительная адресация ассемблируется точно так же как индексная адресация, использующая счетчик команд в качестве индексного регистра. Формат для А: Е, Примеры инструкций: CLR 100, MOV R0, Y.

Смещение для получения адреса операнда размещается во 2-м или 3-м слове инструкции. Эта величина во время выполнения инструкции складывается с адресом инструкции (счетчик команд является базовым регистром). Инструкция MOV 100, R3 после трансляции и размещения в памяти микроЭВМ описывается следующим образом:

Ячейка 20: 016703 Ячейка 22: 000054 .Ячейка 24: Следующая инструкция.

Во время выполнения инструкции процессор обрабатывает первое слово (MOV) и увеличивает значение счетчика команд на 2-. В течение следующего цикла вычисляется действительный адрес операнда, который определяется как сумма содержимого ячейки 22 (смещение) и содержимого счетчика команд (счетчик команд ссылается на ячейку 24, так как в этом цикле его содержимое после выборки ячейки 22 увеличилось на 2). Таким образом, адрес источника (первого операнда) равен: СМЕЩЕНИЕ + СЧЕТЧИК КОМАНД = 548 + 24 = lOOg.

Косвенная относительная адресация. Относительная косвенная адресация подобна предыдущей, за исключением того, что выражение Е используется как указатель на адрес операнда. Значение указателя определяется суммой содержимого счетчика команд и следующего слова инструкции. Формат для А: g)E. Пример команды: MOVg)Z, R1 (рис. 6.7). Например, в оперативном запоминающем устройстве команда MOV g) Z, R1 после трансляции и загрузки может быть представлена в следующей форме:

1; Sffil) инструкция MOV Z, R1 Ячейка 35: Следующая инструкция

Ячейка 100:00377 (поле Z)

В результате выполнения инструкции MOV g)Z, RI, будет выполнена пересылка содержимого ячейки 3778 в регистр 1.

Способы адресации других микроЭВМ и МП незначительно отличаются от вышеприведенных (табл. 6.1).

Стековая адресация. Архитектура МП RCA COSMAC 1800 и микроэвм INTEL MCS-48, MOSTEKZ 80 предусматривает стековую адресацию [68]. Для организации стековой адресации используются регистры Р(Х)или R (2). R (X) - это четырехбитовый регистр, содержащий номер одного из 16-битовых регистров, пред-



назначенных для временного хранения данных, R (2) - 16-битовоЯ регистр. Содержимое регистра R (2) является указателем иа вершину стека, организуемого в памяти с произвольной выборкой. Программист может отменить увеличение или уменьшение значения R (2), т. е. изменение указателя стека. Это происходит в тех случаях, когда сохраняемые в стеке данные необходимо использовать в следующих командах. С точки зрения логики выполнения инструкции в программе стековая адресация RCA COSMAC 1800 вквивалентна автоинкрементной или автодекрементной адресациям, рассмотренным выше.

Дуальная адресация. Понятие дуальной адресации используется при программировании на микроЭВМ MOTOROLA М6800 [55]. Этот термин определяет двухадресную команду, причем в качестве первого операнда используется аккумулятор А или аккумулятор

1-е'смво шапрукции

Регистр I


2-е слово шструкции

Рис. &.7.

В. Второй операнд определяется правилами непосредственной, прямой, расширенной или индексной адресаций. Например, инструкция LDA А $ 8000 определяет загрузку на регистр А содержимого ячейки с адресом 8000.

Расширенвая адресация. Когда используется прямая адресация, при программировании на мнкроЭВМ MOTOROLA М6800, инструкция транслируется в два байта. Второй байт содержит адрес операнда в беззнаковой 8-битовой двоичной форме. Расширенная адресация Предполагает размещение инструкции в пределах трех байт памяти микроЭВМ. 2-й и 3-й байты инструкции содержат расширенный адрес операнда в беззнаковой 16-битовой двоичной форме.

Некоторые инструкции MOTOROLA М6800 могут использовать только расширенную адресацию. В этом случае ассемблер всегда генерирует трехбайтовую инструкцию независимо от величины адреса. Для тех инструкций, которые могут использовать как прямую, так и расширенную, адресации, формат инструкции - 2 байта или 3 байта - ассемблер определяет исходя из абсолютного значения адреса. Если значение адреса находится в диапазоне от О до 255, то используется прямая адресация; если десятичное значение адреса превосходит 255 - расширенная адресация.



ti.I. Способы адресация в микропроцессорных системах

Микропроцессорные системы

Способы адресации

RCA COSMAC

1800 MICROPROCESSORS

Регистровый, косвенный-регистровый, непосредственный, стековый

MOTOROLA М6800 (МИКРОЭВМ)

Дуальный, аккумуляторный, самоопределенный, непосредственный, относительный, индексный, прямой и расширенный

INTEL MCS-48 (МИКРОЭВМ)

Регистровый, косвенный-регистровый, непосредственный, стековый

MOSTEK Z80 (МИКРОЭВМ)

Непосредственный, непосредственный-расширенный, модифицированный через нулевую страницу, относительный, расширенный, индексный, регистровый, косвенный-регистровый, самоопределенный

TEXAS INSTRUMENTS TMS 9900

(семейство микропроцессоров)

Регистровый, косвенный-регистровый, автоинкрементный, относительный, индексный, непосредственный

Непосредственная - расширенная адресация. Понятие непосредственной-расширенной адресации используется при программировании на микроэвм MOSTEK Z80 [55]. Типичным примером инструкции, использующей указанный тип адресации, является инструкция загрузки регистровой пары HL 16-битовым значением:

Код операции

Операнд

Операнд

Один или дВа байта Младшая теть адреса Старшая часть адреса

Рис. 6.8.

LD HL, DATA; STARTING ADDRESS OF DATA STRING. Операнды в поле инструкции разделяются запятой, а комментарий отделяется от поля инструкции символом ; . Инструкция данного типа после трансляции и размещения в памяти занимает 3 или 4 байта (рис. 6.8).



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [ 58 ] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95