Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lectures / 05

.pdf
Скачиваний:
43
Добавлен:
16.04.2013
Размер:
387.75 Кб
Скачать

Определение режима адресации по

байту mod-reg-r/m (II)

Определение режима адресации по

байту mod-reg-r/m (III)

Формат байта SIB (Scale-Index-Base)

00

Index*1

 

000

EAX

 

000

EAX

01

Index*2

 

001

ECX

 

001

ECX

10

Index*4

 

010

EDX

 

010

EDX

11

Index*8

 

011

EBX

 

011

EBX

 

 

 

100

----

 

100

ESP

 

 

 

 

 

101

EBP

 

101

Абсолютный,

 

 

 

110

ESI

 

 

если MOD=00

 

 

 

111

EDI

 

 

EBP, если

 

 

 

 

 

 

 

MOD=01 или 10

 

 

 

 

 

 

 

 

 

 

 

 

 

110

ESI

 

 

 

 

 

 

111

EDI

 

 

 

 

 

 

 

 

Декодирование: 00C1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOD=11

 

 

 

 

R/M=001 + бит d=0

 

 

 

 

 

Бит s=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поле R/M

 

 

 

 

приемником является

 

 

 

 

 

складываем 8-

 

 

 

 

является

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

регистр cl

 

 

 

 

 

 

 

 

битовые величины

 

регистром

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

 

0

0

0

1

1

0

0

0

0

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

000000

 

это

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REG=000 + бит d=0

 

 

 

 

 

команда ADD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

источником является

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

регистр al

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Бит d= 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прибавляем поле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REG к полю R/M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADD cl,al

00 C1

 

 

 

 

 

 

 

 

 

 

 

Декодирование:

 

 

01C1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOD=11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R/M=001 + бит d=0

 

 

 

 

 

Бит s=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поле R/M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

приемником является

 

 

 

 

 

складываем 32/16-

 

 

является

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

регистр ecx/cx

 

 

 

 

 

битовые величины

 

 

регистром

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

 

0

0

0

1

1

1

0

0

 

0

0

0

1

 

 

 

 

 

1

 

000000

 

это

 

 

 

 

REG=000 + бит d=0

 

 

 

 

команда ADD

 

источником является

 

Бит d=0

 

регистр eax/ax

 

 

прибавляем поле

 

REG к полю R/M

 

ADD ecx,eax

01 C1

32-битный сегмент

ADD cx,ax

01 C1

16-битный сегмент

ADD ecx,eax

66 01 C1

16-битный сегмент

ADD ecx,eax

03 C8

32-битный сегмент

Соседние файлы в папке Lectures