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

3. 01/70 01

MOV @-(R0),R1

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

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

R0=1000

R1=70

1200=2000

2000=70

 

Пример: 01 70 61

200

400 

1

R0=1000

2

1200=2000

3

2000=70

4

R1+400

5

Запись в R1

 
 


4. 01/70 01

200                                          

MOV @200(R0),R1

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

27 – непосредственная адресация

37 – косвенная(за кодом лежит адрес)

47 – в качестве данных берём саму команду

Лекция от 16. 11. 2002.                        

                         МЕТОДЫ АДРЕСАЦИИ

Группы:

                   Прямые                           Косвенные

 


            КОП

                                         М        Rх        М        

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

Rх – Регистр                                     8 регистров и 8 методов

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

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

Прямая:                       М: 

  1. Регистровая         0          
  2. Инкремент           2

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

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

Косвенный:               М

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

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

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

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

ПРЯМАЯ:

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

  0 1

  0 0

  0 1

MOVR0, R1

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

  0 1

  2 0

  0 1

  1. Инкремент  (2)      

R0   =    1000          1002 

       1000 =  77               77                   на 2 – если слово

R1   =  00                77                   на 1 – если байт

Метод автоинкремент требует от 2 циклов.

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

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

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

  0 1

  6 0

  0 1

R0      =  1000

R1      =    0                                        200 - Индекс

  1200   =   77                R1 = 77

Индексный метод требует от 3 циклов.

  Пример:

  0 1

  6 0

  6 1                    

    Требуется 6 машинных циклов.

КОСВЕННАЯ:

  0 1

  1 0

  0 1

 1.Регистровая  (1):             

Метод требует от 3 циклов.

R0    =   1000                                

   R1    =    0                                   MOV (R0), R1

   1200   = 7                                    В R0 – содержится адрес.

  1. Инкрементная  (3):

  0 1

  3 0

  0 1

R0    =   1000

R1   =      0

   1000    =   2000                В регистре адрес, в котором адрес

   1002    =   2000                  данных.

   2000   =   10                     R0 – автоинкремент на 2(1) (=1002)ж

R1 = 10

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

Данный способ позволяет обеспечить независимость программ(Позиционно независимое кодирование).

R7 – Счетчик команд   MOV @ (R7) +, R1;

      Содержит адрес выполняемой команды.

4. Индексный   (7):

MOV @ 200 (R0), R1

1.  Код команды

2.  Считаем индекс

3.  Считаем адрес

 


R0         =      1000               R1 = 70