• DE (Debugging Extensions) — разрешение точек останова по об-
ращению к портам ввода-вывода.
Регистры системных адресов предназначены для ссылок на сегменты
и таблицы в защищенном режиме (рис.2.21). Регистры системных адресов
включают 4 специальных регистра для обращения к таблицам или сегмен-
там, реализующим модель защиты:
• Глобальная таблица дескрипторов (GDTR);
• Таблица дескрипторов прерываний (IDTR);
• Локальные таблицы дескрипторов (LDTR);
• Сегмент состояния задачи (TR).
Регистры GDTR (Global Descriptor Table Register) и IDTR (Interrupt
Descriptor Table Register) программно загружаются 6-байтными операнда-
ми, включающими 32-битный линейный базовый адрес и 16-битный раз-
мер глобальной таблицы дескрипторов и таблицы дескрипторов прерыва-
ний. В регистр задачи TR (Task Register) и регистр селектора локальной
таблицы дескрипторов LDTR (Local Descriptor Table Register) загружаются
16-битные селекторы дескрипторов сегмента состояния задачи TSS и ло-
кальной таблицы дескрипторов LDT. Эта загрузка вызывает автоматиче-
скую загрузку самих дескрипторов, содержащих 32-битные поля линейно-
го базового адреса и границ, а также полей атрибутов, в связанные с ними
регистры дескрипторов.
Регистры отладки предназначены для задания и управления отладоч-
ными точками останова. Шесть программно-доступных регистров отладки
реализуют поддержку процесса отладки программ. Четыре регистра пред-
назначены для указания точек останова. Управляющий регистр использу-
ется для установки контрольных точек, а статусный регистр показывает
текущее состояние точек останова. Эти регистры обеспечивают задание
контрольных точек, останова по командам и данным, а также пошаговый
режим выполнения программы. Регистры отладки имеют следующие на-
значения:
• DR0...DR3 (Linear Breakpoint Address 0...3) хранят 32-битные ли-
нейные адреса точек останова;
• DR4, DR5 в микропроцессоре 80386 не используются;
• DR6 (Breakpoint Status) отражает состояние контрольной точки;
• DR7 (Breakpoint Control) управляет установкой контрольных то-
чек.
96