Содержание
Привожу ответ на один из вопросов:
30. Индексные регистры, системные регистры.
Системные регистры. Использование системных регистров жестко регламентировано. Именно они обеспечивают работу защищенного режима. Их также можно рассматривать как часть архитектуры микропроцессора.
Системные регистры можно разделить на три группы:
• 4 регистра системных адресов;
• 4 регистра управления;
• 8 регистров отладки.
Регистры системных адресов. Эти регистры еще называют регистрами управления памятью. Они предназначены для защиты программ и данных в мультизадачном режиме работы микропроцессора. При работе в защищенном режиме микропроцессора адресное пространство делится на:
• глобальное — общее для всех задач;
• локальное — отдельное для каждой задачи.
Регистры управления. В группу регистров управления входят 4 регистра: cr0, cr1, cr2, cr3. Эти регистры предназначены для общего управления системой. Регистры управления доступны только программам с уровнем привилегий 0.
Хотя микропроцессор имеет 4 регистра управления, доступными являются только 3 из них — исключается cr1, функции которого пока не определены (он зарезервирован для будущего использования).
Регистры отладки. Это очень интересная группа регистров, предназначенных для аппаратной отладки. Средства аппаратной отладки впервые появились в микропроцессоре i486. Аппаратно микропроцессор содержит восемь регистров отладки, но реально из них используются только 6. Регистры отладки DR0…DR3 — хранят 32-битные линейные адреса точек останова. DR6 (равносильно DR4) — отражает состояние контрольных точекDR7 (равносильно DR5) — управляет установкой контрольных точек.
Индексные регистры предназначены для приёма, хранения и выдачи кодов, используемых при автоматическом изменении команд. Перед выполнением команды любая её часть, обычно адресная, может быть модифицирована многократным прибавлением кодов, содержащихся в индексных регистрах. Количество индексных регистров в вычислительной машине может достигать нескольких десятков; быстродействие их на порядок выше быстродействия основной оперативной памяти.
Индексные регистры повышают производительность ЦВМ, уменьшают объём программ решения задач и упрощают программирование, осуществляют автоматическую переадресацию одновременно с другими операциями ЦВМ.
Индексные регистры процессора 80386 — ESI, EDI и ЕВР (или SI, DI и ВР для 16-разрядных действий) обычно используются для адресации памяти: обращения к массивам, индексирования и т.д.
Отсюда их имена: индекс источника (Source Index), индекс приемника (Destination Index), указатель базы (Base Pointer).
Но хранить в них только адреса совсем необязательно: регистры ESI, EDI и ЕВР могут содержать произвольные данные. Эти регистры программно доступны, то есть их содержание может быть изменено программистом.
Индексный регистр-источник SI применяется в качестве указателя адреса байта или слова в таких строковых командах, как LODS (загрузить строку), CMPS (сравнить строку), MOVS (переслать строку).
Индексный регистр-приёмник DI используется как указатель назначения для адреса байта или слова в строковых командах, таких как SCAS (сканировать строку),CMPS, MOVS, STOS (записать строку).
У регистров ESI, EDI и ЕВР существуют только в 16-разрядная и 32-разрядная версии.
Выдержка из текста
работа не содержит введения, а только четкие ответы на вопросы.
Список использованной литературы
работа не содержит списка литературы, а только четкие ответы на вопросы.