Курс лекций по вычислительной технике



         

Структура команды (форматы команд) IA- - часть 2


/p>

 

Для непосредственной адресации.

 

 

7… 2 1 0

Коп  s w

 

 

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

     sw = 00 - 8-битные операнды

     sw = 01 - 16-и (32-х) битные с 16-и (32-х)битным непосредственным адресом.

     sw = 11 - 16  (32-х) битные с  8-и битным непосредственным адресом, который расширяется знаком до 16-и (32).

 

Двухбайтный код операции.

 

2-й байт  (MODR/M).                    1-й байт

 

7      6      5     4       3       2  1   0

7…   1 0

 MOD  ¦  REG/КОП   ¦   R/M  

Коп  d w

 

 

 

d = 0  - место результата определяется полем MOD и R/M в следующем байте (описателе регистра); называемом MODR/M.

d = 1 - место результата определяется полем REG  описателя регистра.      

Таким образом первичный код операции определяет наличие второго поля в следующем байте - описателя регистра.

                                  

Поле МOD  определяет -

 11 - R/M: второй операнд тоже регистр.

Все остальные значения означают, а) что второй операнд берётся из памяти со смещением или без.

 01 - смещение занимает 1 байт и модифицируется.

 10 - смещение занимает 2 (4)байта и модифицируется.

 Поле REG может быть как номером регистра, так и вторичным (дополнительным) кодом операции. Это зависит от значения основного КОП.

Поле R/M определяет правила формирования адреса (при MOD?11).             

Замечания.

1)* - по умолчанию регистр сегмента DS. 

2)Незаданный адрес считается нулевым.

3)Адрес, заданный байтом (D8), расширяется знаком до слова.

4)D8, D16 - смещение, последующие байты

 

Байт  SIB  (Scale-Index-Base) – масштаб – индекс - база  следует  3-м байтом  - описатель адреса

 

     SIB  присутствует,  если  MOD?11 а  R/M=100

 

Формат SIB

                  

Scale

Index

Base

7   6 

5 4 3

2 1 0

 

         Компоненты адреса, определяемые полями SIB.

Значение S/I/B  

Множитель(S)

Индекс (I)

База (B)

0

1

ЕАХ

ЕАХ

1

2

ЕСХ

ЕСХ

2

4

EDX

EDX

3

8

ЕВХ

ЕВХ

4     

-

нет,SS=0

ESP

5     

-

ЕВР

D32*    

6      

-

ЕSI

ESI

7     

-

EDI

EDI

<


Содержание  Назад  Вперед