Архитектура ЭВМ и систем. Коваль А.С - 49 стр.

UptoLike

Составители: 

49
данных, размещенными в памяти, например, с соседними ячейками памя-
ти относительно эффективного адреса в базовом регистре.
Пример: mov ax, [bx+10], другая форма записи - mov ax, 10[bx]
Код Действие
8b4710
Запись содержимого ячейки памяти с EA (сегмент
DS), определяемым как сумма содержимого bx и
смещения в команде (100+10=110) в регистр ax
До выполнения После выполнения
ax=1234 ax=4
bx=100 bx=100
[110]=4 [110]=4 (Предварительно запишите 4 в DS:[0110])
ip=100 ip=103
Индексный метод адресации удобен при обработке массивов, когда
смещение указывает стартовый адрес массива, а содержимое индексного
регистра соответствует индексу массива.
Пример: mov ax, 0100[si], другая форма записи - mov ax, [si+0100]
Код Действие
8b840001
Запись содержимого ячейки памяти с EA (сегмент
DS), определяемым как сумма содержимого si и
смещения в команде (2+100=102) в регистр ax.
Можно рассматривать значение si как индекс мас-
сива
со стартовым адресом 100.
До выполнения После выполнения
ax=4321 ax=7
si=2 si=2
[0102]=7 [0102]=7 (Предварительно запишите 7 в DS:[0102])
ip=100 ip=104
Базовая индексная адресация.
Эффективный адрес равен сумме содержимого базового (BX или BP) и
индексного (SI или DI) регистров.
Инд. регистр
Команда
E
A
Баз. регистр Операнд
ОЗУ
Смещение
                                    49
данных, размещенными в памяти, например, с соседними ячейками памя-
ти относительно эффективного адреса в базовом регистре.
Пример: mov ax, [bx+10], другая форма записи - mov ax, 10[bx]

       Код                                Действие
                      Запись содержимого ячейки памяти с EA (сегмент
      8b4710          DS), определяемым как сумма содержимого bx и
                      смещения в команде (100+10=110) в регистр ax

  До выполнения                      После выполнения
 ax=1234            ax=4
 bx=100             bx=100
 [110]=4            [110]=4 (Предварительно запишите 4 в DS:[0110])
 ip=100             ip=103
   Индексный метод адресации удобен при обработке массивов, когда
смещение указывает стартовый адрес массива, а содержимое индексного
регистра соответствует индексу массива.
Пример: mov ax, 0100[si], другая форма записи - mov ax, [si+0100]

       Код                                Действие
                      Запись содержимого ячейки памяти с EA (сегмент
                      DS), определяемым как сумма содержимого si и
     8b840001         смещения в команде (2+100=102) в регистр ax.
                      Можно рассматривать значение si как индекс мас-
                      сива со стартовым адресом 100.

  До выполнения                      После выполнения
ax=4321               ax=7
si=2                  si=2
[0102]=7              [0102]=7 (Предварительно запишите 7 в DS:[0102])
ip=100                ip=104

Базовая индексная адресация.
  Эффективный адрес равен сумме содержимого базового (BX или BP) и
индексного (SI или DI) регистров.
               Команда
             Инд. регистр                             ОЗУ
             Баз. регистр           EA               Операнд

              Смещение