Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Формирование физического адреса в режиме реальных адресов




Ф.А.

16

ОА

 

16

Сдвиг в лево на 4 бита

15

БАЗА

сегмент регистра

0

 

Из сегментного регистра считается база которая сдвигается на 4 разряда в лево для получения базового адреса. К базовому адресу прибавляется смешение, в результате получается Ф.А..

Формирование физического адреса в защищенном режиме

ФА

16

32

15

0

ОА

 

 

0

дескриптор

31

 

32

              

 

В защищенном режиме сегмент регистра содержит селектор на диск. Хранящий базовый адрес размер и атрибут защиты сегмента считанный 32-х разрядный БА. складывается со смещенным в результате получается ФА в ячейке.

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

Дескриптор- это 8байтовый блок содержащий атрибуты области линейных адресов сегмента.

Логический адрес

Формирование физического адреса при страничной сегментной организации памяти в 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] Косвенная адресация применяется для обработки массивов и различных последовательностей элементов. Для этого операнды команд должны иметь одинаковую разрядность. Один из операндов должен быть регистром процессора.










Последнее изменение этой страницы: 2018-04-12; просмотров: 579.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...