Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение арх.ЭВМ2.docx
Скачиваний:
4
Добавлен:
21.12.2018
Размер:
17.75 Mб
Скачать

Логический адрес Формирование физического адреса при страничной сегментной организации памяти в 32-х битном режиме

Сегментный регистр

1

0

2

3

16

15

32

Линейный адрес

Смешение в странице

Номер страницы в тс

Номер тс и ктс

+

i

Селектор

Виртуальный адрес

0

1

2

Таблица дескрипторов сегментов

Дескриптор i

Номер вертикальной страницы

12

10

10

Элемент ктс i

2

ф. а. операнда

+

ОП

страница

операнд

+

1

0

Элемент кт i

216-1

i

0

1

2

Селектор размещается в сегментном регистре, основное его часть представляет собой номер (индекс), по которому в одной из специальных таблиц дескрипторов можно найти дескриптор данного сегмента.

Непосредственное значение Структуры команд

OA

SIB

MOD RIM

КО

КО (код операции)- определяет тип операций которую процессор должен выполнить.

MOD RIM делится на 2 части:

  • REGI КО- в двух операндах (командах) хранится код регистра общего назначения.

  • MOD IM-определяет способ адресации операнда, находящегося в ОЗУ, либо хранит код регистра содержащего операнд.

SIP- используется для реализации косвенных способов адресации, состоит из 3 полей:

  • BASE- используется для указания базового регистра.

  • INDCX- используется для указания индексного регистра.

  • CS-хранится масштабный коэффициент модификации.

OA- содержит относительный адрес операндов памяти.

Непосредственное значение содержит представленный в команде операнд.

Таблица кодировки регистров

REG

Разрядность

8

16

32

000

AL

AX

EAX

001

CL

CX

ECX

010

DL

DX

EDX

011

BL

BV

EBX

100

AH

SP

ESP

101

BH

BP

EBP

110

SH

SI

ESI

111

DH

DI

EDI

Способы адресации операндов

Операнд располагается:

  • В ОЗУ

  • В регистрах процессора

  • В команде программ

  • Непосредственная адресация- операнд хранится в команде в поле «непосредственное значение» MOV AX, OAIN

  • Регистровая адресация- операнд хранится в регистре процессора MOV AX, BX

  • Прямая адресация ОЗУ- операнд находится в ОЗУ, относительный адрес ячейки хранится в поле команды «смешение» или «относительный адрес»

В мнемонике команды указаны имя переменой.

  • Косвенная адресация оперативной памяти- операнд находится в оперативной памяти, относительный адрес хранится в одном из косвенных регистров. В мнемонике указывается имя регистра в [ ]. В качестве косвенного регистра может использоваться индексный регистр, либо базовые регистры (BX или BP). В зависимости от используемого регистра можно различать:

  • Базовая адресация: MOV AX, [BP]

  • Индексная адресация: MOV AX, [SI]

Начало сегмента

Операнд

ОЗУ

BP

  • Базово- индексная (смешенная): MOV AX, [BX+SI) MOVAX, [BP] [DI]. Использует один их индексный и один базовый регистр. Относительный адрес получается сложенным их значений

ОЗУ

Начало сегмента

Операнд

BX

см

SI

См

  • ОЗУ

  • Косвенная со смешением: содержимому косвенного регистра или их сумме добавляют значение хранящегося в поле команды «косвенного значения» MOV AX, [BX+5] MOV AX, [SI+0A] MOV AX, [SI+BP+5] Косвенная адресация применяется для обработки массивов и различных последовательностей элементов. Для этого операнды команд должны иметь одинаковую разрядность. Один из операндов должен быть регистром процессора.

BX+5

см

Начало сегмента

Операнд