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

Lectures / 05

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

6.2.6. Базовая индексная косвенная

адресация со смещением

MOV AL,[BX+SI+disp]

AL

+

[BX] SI +

BX +

DS

MOV AL,[BP+SI+disp]

AL

+

[BP] SI +

BP +

SS

6.2.6. Базовая индексная косвенная

адресация со смещением

Примеры:

mov al, disp[bx][si]

Смещение

mov al, disp[bx+di]

относительно DS

 

mov al, [bp+si+disp]

Смещение

mov al, [bp][di][disp]

относительно SS

6.2. Обобщенная схема косвенной

адресации в процессоре Intel 8086

Режимы косвенной адресации в 80386

База

 

Индекс

 

Масштаб

 

Смещение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

4

8

Эфф. адрес = База + (Индекс* Масштаб) + Смещение

Косвенная адресация с

масштабированием в 80386

AL

ESI*scale

EBX

VarName

+

+

mov al, VarName[EBX+ESI*scale]

(scale = 1, 2, 4, 8)

Структура машинной команды

 

 

Необязательный байт

 

 

 

 

 

 

 

 

Один или два байта

 

 

 

 

SIB (Scaled Indexed

 

 

 

КОП (два байта, если

 

Byte), если команда

 

 

 

 

Непосредст-

 

присутствует

 

использует режим

 

венный

 

префикс

 

адресации памяти с

 

операнд: 0, 1,

 

расширения КОП 0F)

 

масштабированием

 

2 или 4 байта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0..4

 

 

 

 

 

 

 

 

Смещение: 0, 1,

 

 

Байт “mod-reg-

 

 

префиксных

 

 

 

 

 

2 или 4 байта

 

байта,

 

r/m”(адресный

 

 

 

 

 

 

 

 

влияющих на

 

байт), определяет

 

 

 

выполнение

 

режим адресации

 

 

 

команды

 

и размер

 

 

 

 

 

операнда (только

 

 

 

 

 

 

 

 

для операндов в

 

 

 

 

 

регистрах или

 

 

 

 

 

 

 

 

памяти)

 

 

 

 

 

 

 

 

 

Пример: КОП для команды ADD

0

0

0

0

0

0

d

s

 

 

 

 

 

 

 

 

d=0

d=1

s=0

s=1

сложение из регистра в память сложение из памяти в регистр сложение 8-битовых операндов сложение 16или 32-битовых операндов

Формат байта mod-reg-r/m

(адресного байта)

Формат поля REG байта mod-reg-r/m

 

 

Регистр, данные

 

Регистр, данные

 

Регистр, данные

Значение REG

 

размером 8 бит

 

размером 16 бит

 

размером 32 бит

 

 

 

 

 

 

 

 

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

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

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