Курс лекций «Организация ЭВМ и систем»: Методическое пособие, страница 26

Прямая адресация

1. Регистровый

MOV R0, R1

 0 1 | 0 0 0 1

 


                             Регистр

                              Метод адресации

Код команды

В этом случае  данные передаются из регистра R1 в регистр R0.

2. Автоинкрементный

0 1 | 2 0 0 1

До выполнения команды:

R0 = 1000

1000 = 77

R1 = 00

После выполнения команды:

R0 = 1002

1000 = 77

R1 = 77

Регистр R1 загружается данными, которые хранятся по адресу, указанному в регистре R0. После выполнения команды содержимое R0 увеличивается на 1, если команда однобайтная, и на 2 – если двухбайтная.

Мнемоника записи MOV (R0)+, R1

3. Автодекрементный

По аналогии с автоинкрементным, только содержимое R0 уменьшается на 2 или 1.

Мнемоника записи MOV (R0)-, R1

4. Индексный

0 1 | 6 0 0 1

Содержимое индексного регистра – 200

До выполнения команды:

R0 = 1000

R1 = 0

1200 = 77

После выполнения команды:

R1 = 77

При индексной адресации адрес, из которого пересылаются данные в регистр R1, вычисляется путем сложения содержимого R0 и индексного регистра.

Косвенная адресация

1. Регистровый

0 1 1 0 0 1

В регистре R0 указывается адрес ячейки памяти, в которой хранятся данные для передачи в R2.

2. Автоинкрементный

0 1 3 0 0 1

До выполнения команды:

R0 = 1000

R1 = 0

1000 = 2000

2000 = 10

После выполнения команды:

R0 = 1002

R1 = 1

Регистр R0 содержит адрес ячейки памяти, которая ссылается на другую ячейку памяти. Эта ячейка памяти содержит число, необходимое для передачи в R1. После выполнения команды происходит увеличение содержимого R0 на 1 или 2 в зависимости от длины команды.

Мнемоника записи MOV @(R0)+,  R1

3. Автодекрементный

По аналогии с автоинкрементным, только содержимое R0 уменьшается на 2 или 1.

Мнемоника записи MOV @(R0)-, R1

4. Индексный

0 1 7 0 0 1

Содержимое индексного регистра – 200

До выполнения команды:

R0 = 1000

1200 = 2000

2000 = 70

После выполнения команды:

R1 = 70

При индексной адресации сначала вычисляется первый адрес путем сложения содержимого R0 и индексного регистра. Этот адрес, в свою очередь, содержит адрес той ячейки памяти, из которой следует загружать данные в регистр R1.

Адресация относительно счетчика команд

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

Новошицкий И.Е. ВМ – 01

Розумейко А.В. ВМ – 02

Лекция за 16.11.2002г.

Методы адресации.

Группы:

а)прямые;

б)косвенные;

                                                      6 разрядов коп            

8 регистров и 8 методов

М               Rx                         M               Rx

M – метод адресации                                       Rx – регистр

Методы (принадлежат прямым и косвенным):

  1. Работа через регистр – регистровый
  2. Автоинкремент
  3. Автодекремент
  4. Индексный

Прямая:                                                               команда   источник      приемник

               1)Регистровый   0  MOV  R0,R1                          01  00  01

               2)Инкремент      2                                                01  20   01     (по регистру находится адрес)

!!! Если метод М != 0, то метод адресации можно считать косвенным

3)Декремент       4

4) Индексный     6       

Косвенная:

1)Регистровый    1

2)Инкремент       3

3)Декремент        5

4)Индексный       7

Прямая:

1)Регистровая требует 1 цикл;

2)Инкрементная (2)   01  20   01

                        

R0    = 1000           1002                   на 2 - если слово; на 1 – если байт

1000 =   77               77

R1    =   00               77