Общие режимы адресации памяти микро-ЭВМ «Электроника-60».

Общие режимы адресации памяти микро-ЭВМ «Электроника-60», их символическое обозначение и код режима (значение поля команды с разрядами 11 – 9 или 5 – 3 в зависимости от того, к какому из операндов относится режим адресации) приведены ниже:

 

0 Регистровый Rn

1 Регистровый косвенный *Rn

2 Автоинкрементный косвенный (Rn) +

3 Автоинкрементный двойной *(Rn)+

косвенный

4 Автодекрементный косвенный - (Rn)

5 Автодекрементный двойной * - (Rn)

косвенный

6 Индексный X(Rn)

7 Индексный косвенный *X(Rn)

 

Здесь Rn – имя регистра общего назначения (вместо имени можно использовать сочетание знака «%» и факти­ческого номера регистра).

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

В примерах, иллюстрирующих режимы адресации, будем указывать выполняемую команду (на языке ас­семблера) и состояние регистров и слов памяти, исполь­зуемых в операции, до и после выполнения команды.

В регистровом косвенном режимеадресуемый операнд находится в оперативной памяти, а адрес операнда – в заданном регистре.

Автоинкрементный косвенный режимподобен ре­гистровому косвенному режиму, за исключением того, что после адресации операнда и выполнения над ним за­данной операции содержимое регистра увеличивается на два (в командах выполнения операций над словами) или на единицу (в командах выполнения операций над байтами).

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

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

В автодекрементном двойном косвенном режимесо­держимое регистра, предварительно уменьшенное на два или на единицу (в зависимости от команды), использует­ся как указатель адреса, по которому в памяти распола­гается адрес операнда.

Индексный режимявляется также режимом косвен­ной адресации. Эффективный адрес операнда вычисляет­ся суммированием содержимого регистра и константы, хранящейся в слове памяти, следующем за словом ко­манды (если индексный режим задается только для од­ного операнда). Если команда двухоперандная и для каждого операнда задан индексный режим, то в слове, следующем за словом команды, должна находиться кон­станта для вычисления адреса первого операнда, а в сле­дующем слове — константа для вычисления адреса вто­рого операнда. Значит, команда с индексным режимом адресации может занимать в памяти два или даже три слова подряд.

Индексный косвенный режимимеет уровень косвенной адресации, равный двум. Содержимое регистра, сложен­ное с константой, используется как адрес, по которому в памяти находится адрес операнда. Константа, сумми­руемая с содержимым регистра, хранится в слове, сле­дующем за словом команды.








Дата добавления: 2015-12-08; просмотров: 841;


Поиск по сайту:

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

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.