<<
>>

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

Процессоры Intel аппаратно поддерживают сегментную организацию программы. Это означает, что любая программа состоит из трех сегментов: кода, данных и сте- ка. Логически машинные команды в архитектуре IA-32 построены так, что при выборке каждой команды для доступа к данным программы или к стеку неявно используется информация из вполне определенных сегментных регистров.
В за- висимости от режима работы процессора по их содержимому определяются адре- са памяти, с которых начинаются соответствующие сегменты. В программной мо- дели IA-32 имеется шесть сегментныхрегистров CS, SS, DS, ES, GS, FS, служащих для доступа к четырем типам сегментов. іi Сегмент кода содержит команды программы. Для доступа к этому сегменту слу- жит регистр сегмента кода (Code Segment register) CS. Он содержит адрес сег- мента с машинными командами, к которому имеет доступ процессор (эти ко- манды загружаются в конвейер процессора). ш Сегмент данных содержит обрабатываемые программой данные. Для доступа к этому сегменту служит регистр сегмента данных (Data Segment register) DS, который хранит адрес сегмента данных текущей программы. rn Сегмент стека представляет собой область памяти, называемую стеком.
Рабо- ту со стеком процессор организует по следующему принципу: последний запи- санный в эту область элемент выбирается первым. Для доступа к этой области служит регистр сегмента стека (Stack Segment register) SS, содержащий адрес сегмента стека. ∙ № Дополнительный сегмент данных. Неявно алгоритмы выполнения большинства машинных команд предполагают, что обрабатываемые ими данные расположе - ны в сегменте данных, адрес которого находится в регистре сегмента данных DS. Если программе недостаточно одного сегмента данных, то она имеет возмож- ность задействовать еще три дополнительных сегмента данных. Но в отличие от основного сегмента данных, адрес которого содержится в регистре DS, при использовании дополнительных сегментов данных их адреса требуется указы- вать явно с помощью специальных префиксов переопределения сегментов в ко- манде. Адреса дополнительных сегментов данных должны содержаться в реги- страх дополнительного сегмента данных (Extension Data Segment registers) ES, GS, FS.
<< | >>
Источник: В. И. Юров. Assembler. Учебник для вузов. 2-е изд. 2003

Еще по теме Сегментные регистры:

  1. СЛУХ АБСОЛЮТНЫЙ
  2. ПАМЯТЬ: МОДЕЛЬ ТРЕХКОМПОНЕНТНАЯ
  3. 2. Субъекты права на фирменное наименование.
  4. Периодическая таблица переживаний
  5. 3. Форма договора продажи недвижимости.
  6. 8. Договор о совместном (долевом) строительстве жилой и иной недвижимости.
  7. 2. Договор о залоге и его условия
  8. Письменные документы.
  9. § 4. Другие способы защиты права собственности
  10. 1. Государственная регистрация прав на недвижимость
  11. §5. ПРЕДПРИНИМАТЕЛЬСКАЯ ДЕЯТЕЛЬНОСТЬ ГРАЖДАНИНА
  12. События
  13. 1. Образование юридического лица
  14. 18.5. Права и обязанности держателя (обладателя) по работе с массивами персональных данных
  15. 1. Понятие и предмет договора поручения.
  16. Сочинение историй
  17. § 6. Публикация актов гражданского законодательства
  18. 1. Общая совместная собственность супругов
  19. Граждане (физические лица) как субъекты гражданского права, признаки и средства их индивидуализации
  20. 4. Оформление прав на изобретение, полезную модель или промышленный образец