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

UptoLike

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

47
Косвенно-регистровая адресация.
Эффективный адрес операнда находится в базовом регистре BX или ин-
дексном регистре (SI или DI):
Регист
р
Коман
да
EA
Регист
р
Опе
р
ан
д
ОЗУ
Пример: mov ax, [bx]
Код Действие
8b07
Запись содержимого ячейки памяти с адресом из
регистра bx (смещение внутри сегмента DS), в ре-
гистр ax
До выполнения После выполнения
ax=3 ax=7
bx=0 bx=0
[0000]=7 [0000]=7 (Предварительно запишите 7 в DS:[0000])
ip=100 ip=102
Физический адрес определяется парой сегмент-смещение (например
CS:IP – адрес следующей команды), и для каждого регистра, содержащего
смещение, есть сегментный регистр, заданный по умолчанию. Некоторые
сегменты разрешается принудительно переназначать, мнемоническое обо-
значение переназначения – «сегментный_регистр:смещение», в коде ко-
манды появляется дополнительный (первый) байтбайт замены сегмента.
Регистры, хранящие смеще-
ние
Сегмент «по умолча-
нию»
Возможная
замена
IP CS -
SP SS -
BP SS CS, DS, ES
BP+SI, BP+DI SS CS, DS, ES
BX DS CS, DS, ES
SI, DI (кроме адресации
строк)
DS CS, DS, ES
SI (адресация строк) DS CS, DS, ES
DI (адресация строк) ES -
                                   47


Косвенно-регистровая адресация.
   Эффективный адрес операнда находится в базовом регистре BX или ин-
дексном регистре (SI или DI):
               Команда           Регистр               ОЗУ
               Регистр             EA                 Операнд

Пример: mov ax, [bx]

       Код                                 Действие
                     Запись содержимого ячейки памяти с адресом из
       8b07          регистра bx (смещение внутри сегмента DS), в ре-
                     гистр ax

  До выполнения                      После выполнения
ax=3                 ax=7
bx=0                 bx=0
[0000]=7             [0000]=7 (Предварительно запишите 7 в DS:[0000])
ip=100               ip=102

   Физический адрес определяется парой сегмент-смещение (например
CS:IP – адрес следующей команды), и для каждого регистра, содержащего
смещение, есть сегментный регистр, заданный по умолчанию. Некоторые
сегменты разрешается принудительно переназначать, мнемоническое обо-
значение переназначения – «сегментный_регистр:смещение», в коде ко-
манды появляется дополнительный (первый) байт – байт замены сегмента.


  Регистры, хранящие смеще-      Сегмент «по умолча-         Возможная
              ние                       нию»                   замена
                IP                         CS                    -
               SP                          SS                    -
               BP                          SS                CS, DS, ES
           BP+SI, BP+DI                    SS                CS, DS, ES
               BX                          DS                CS, DS, ES
    SI, DI (кроме адресации
                                           DS                CS, DS, ES
              строк)
      SI (адресация строк)                 DS                CS, DS, ES
      DI (адресация строк)                 ES                    -