Методы адресации

Автор работы: Пользователь скрыл имя, 11 Декабря 2012 в 04:28, практическая работа

Краткое описание

Цель работы: Овладение практическими навыками эффективного применения различных методов адресации.
В машинах с регистрами общего назначения метод адресации объектов, которыми манипулирует команда, может задавать константу, регистр или ячейку памяти. Для обращения к ячейке памяти процессор, прежде всего, должен вычислить эффективный адрес памяти, который определяется заданным в команде методом адресации.
В данном обзоре представлены 11 режимов адресации процессора 80386.

Вложенные файлы: 1 файл

Лаба № 5.docx

— 489.06 Кб (Скачать файл)

Министерство  образования и науки, молодежи и  спорта Украины

ЗНТУ

             Кафедра защиты информации

 

 

 

ОТЧЕТ

 

по практической работе  №5

Методы  адресации

 

 

 

 

 

 

 

 

 

 

Выполнила  студентка группы РТ-812  Сивак М. А.        

 Проверил:  Гулин А.С.

 

 

 

 

 

 

 

 

Запорожье

2012

Цель работы: Овладение практическими навыками эффективного применения различных методов адресации.

 

В машинах с регистрами общего назначения метод адресации объектов, которыми манипулирует команда, может задавать константу, регистр или ячейку памяти. Для обращения к ячейке памяти процессор, прежде всего, должен вычислить эффективный адрес памяти, который определяется заданным в команде методом адресации.

В данном обзоре представлены 11 режимов  адресации процессора 80386.

Два режима адресации - регистровый и  непосредственный - предназначены для  обращения к содержимому одного из регистров процессора 80386 или  для использования непосредственно  заданного в команде операнда. В этих режимах операнды могут иметь размеры 8,16 и 32 бита.

Остальные девять режимов обеспечивают механизм определения линейного (исполнительного) адреса операнда, находящегося в памяти. Линейный адрес состоит из двух компонентов; сегментного базового и эффективного адреса. Эффективный адрес вычисляется сложением любой комбинации следующих четырех адресных элементов:

смещение: 8- или 32-битовое значение, непосредственно задаваемое в команде;

база: содержимое любого из регистров общего назначения. Базовые регистры обычно используются транслятором в качестве начала точки отсчета локальной области памяти;

индекс: содержимое любого из регистров общего назначения кроме ESP. Индексные регистры обычно используются для доступа к элементам массивов или строк;

масштаб: значение индексного регистра может быть умножено на масштабный множитель 1, 2, 4 или 8, использование которого определяется специальным байтом, следующим за командой;

Эффективный адрес (EA) операнда в общем случае вычисляется по следующей формуле:

 

 

 

  • Режим прямой адресации: адрес операнда задается в виде 8-,16- или 32-битового смещения в самой команде, например: INC WORDPTR[500]
  • Режим регистровой косвенной адресации: базовый или индексный регистр содержит адрес операнда. Например: MOV [ECX],EDX
  • Базовая адресация: содержимое базового регистра суммируется со смещением для формирования ЕА. Например: MOV ECX[EAX+4],EDX
  • Индексная адресация: содержимое индексного регистра суммируется со смещением. Например: MOV EAX,TABLE[ESI]
  • Режим индексной адресации с масштабированием: содержимое индексного регистра умножается на масштабный коэффициент и суммируется со смещением. Например: IMUL TABLE[ESI*4],7
  • Базово-индексная адресация: содержимое базового регистра складывается с содержимым индексного регистра. Например: MOV EAX,[ESI+EBX]
  • Базово-индексная адресация с масштабированием: содержимое индексного регистра умножается на масштабный коэффициент, и результат прибавляется к содержимому базового регистра. Например: NOV ECX,[ESI*8+EAX]
  • Базово-индексная адресация со смещением: содержимое базового регистра складывается с содержимым индексного регистра со смещением операнда для формирования ЕА. Например: ADD EDX,[ESI][EBP+0F12345h]
  • Базово-индексная адресация со смещением и масштабированием: содержимое индексного регистра умножается на масштабный коэффициент, и результат прибавляется к содержимому базового регистра, просуммированного со смещением. Например: MOV EAX,LOCAL TABLE[EDI*4][EBP+87]

Вывод: я овладела практическими навыками эффективного применения различных методов адресации.


Информация о работе Методы адресации