русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Смещение


Дата добавления: 2015-06-12; просмотров: 1050; Нарушение авторских прав


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

База

Относительный адрес операнда указывается косвенно, в одном из регистров общего назначения, как для "смещенных" переменных.

База + Смещение

Регистр и смещение могут быть использованы вместе с двух случаях:

  1. Индекс в статических массивах, элементы которых имеют размер, отличный от 2, 4 и 8 бит. Смещение в этом случае кодирует относительный адрес начала массива. Регистр содержит результаты вычислений, которые определяют смещение конкретного элемента внутри массива.
  2. Доступ к полю записи. В этом случае регистр базы содержит адрес начала записи, а смещение представляет собой относительный адрес нужного поля. Важным частным случаем использования такой комбинации (база + смещение) является доступ к параметрам в записи активации процедуры. Запись активации процедуры - это кадр стека, созданный при входе в процедуру. В данном случае, в качестве базового регистра удобнее всего использовать EBP, т.к. при его использовании автоматически выбирается сегмент стека. Такой способ доступа к параметрам процедуры обеспечивает компактное кодирование команды.

( Индекс * Коэффициент масштабирования ) + Смещение

Эта комбинация обеспечивает наиболее эффективное индексирование в статических массивах, элементы которых имеют размер 2, 4 или 8 бит. Смещение указывает адрес начала массива, а индексный регистр содержит порядковый номер нужного элемента. При этом процессор автоматически преобразует номер элемента в его смещение относительно начала массива, используя коэффициент масштабирования.

База + Индекс + Смещение

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



База + ( Индекс * Коэффициент масштабирования ) + Смещение

Такая комбинация обеспечивает эффективное индексирование в двумерном массиве, если его элементы имеют размер 2, 4 или 8 битов.



<== предыдущая лекция | следующая лекция ==>
Вычисление эффективного (исполнительного) адреса | Прерывания и исключения


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.216 сек.