Методы адресации
Практическая работа, 11 Декабря 2012, автор: пользователь скрыл имя
Краткое описание
Цель работы: Овладение практическими навыками эффективного применения различных методов адресации.
В машинах с регистрами общего назначения метод адресации объектов, которыми манипулирует команда, может задавать константу, регистр или ячейку памяти. Для обращения к ячейке памяти процессор, прежде всего, должен вычислить эффективный адрес памяти, который определяется заданным в команде методом адресации.
В данном обзоре представлены 11 режимов адресации процессора 80386.
Вложенные файлы: 1 файл
Лаба № 5.docx
— 489.06 Кб (Скачать файл)Министерство образования и науки, молодежи и спорта Украины
ЗНТУ
Кафедра защиты информации
ОТЧЕТ
по практической работе №5
Методы адресации
Выполнила студентка группы РТ-812 Сивак М. А.
Проверил: Гулин А.С.
Запорожье
2012
Цель работы: Овладение практическими навыками эффективного применения различных методов адресации.
В машинах с регистрами общего назначения метод адресации объектов, которыми манипулирует команда, может задавать константу, регистр или ячейку памяти. Для обращения к ячейке памяти процессор, прежде всего, должен вычислить эффективный адрес памяти, который определяется заданным в команде методом адресации.
В данном обзоре представлены 11 режимов адресации процессора 80386.
Два
режима адресации - регистровый и
непосредственный - предназначены для
обращения к содержимому одного
из регистров процессора 80386 или
для использования
Остальные девять режимов обеспечивают механизм определения линейного (исполнительного) адреса операнда, находящегося в памяти. Линейный адрес состоит из двух компонентов; сегментного базового и эффективного адреса. Эффективный адрес вычисляется сложением любой комбинации следующих четырех адресных элементов:
смещение: 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]
Вывод: я овладела практическими навыками эффективного применения различных методов адресации.