Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
arkhitektura.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.89 Mб
Скачать

31.Регистры процессора

Внутренняя архитектура микро­процессоров Intel практически совпадает. Поэтому ниже все эти микропроцессоры будут рассматриваться вместе под общим названием "процессор". Регистр процессора — блок ячеек памяти, образующий сверхбыструю оперативную память (СОЗУ) внутри процессора; используется самим процессором и большой частью недоступен программисту. Процессор содержит двенадцать 16-разрядных программно - адресуемых регистров, которые принято объединять в три груп­пы: регистры данных, регистры-указатели и сегментные регис­тры. Кроме того, в состав процессора входят счетчик команд и регистр флагов. В группу регистров данных включаются регистры АХ, ВХ, СХ иDX. Программист может использовать их по своему ус­мотрению для временного хранения любых объектов (данных или адресов) и выполнения над ними требуемых операций. При этом регистры допускают независимое обращение к стар­шим (АН, ВН, СН иDH) и младшим (AL, BL, CL иDL) по­ловинам. Так команда movBL, AH пересылает старший байт регистра АХ в младший байт регистра ВХ, не затрагивая при этом вторых байтов этих регистров.Что сначала указывается операнд-приемник, а после запятой - операнд-источник. Во многих случаях регистры дан­ных вполне эквивалентны, однако предпочтительнее пользовать­ся регистром АХ, поскольку многие команды занимают в памя­ти меньше места и выполняются быстрее, если их операндом является регистр АХ (или его половиныAL или АН). С другой стороны, ряд команд использует определенные регистры неяв­ным образом. Так, все команды циклов используют регистр СХ в качестве счетчика числа повторений; в командах умножения и деления регистры АХ иDX выступают в качестве неявных операндов; операции ввода-вывода можно осуществлять только через регистр АХ (или AL) и т.д.Регистры-указатели: Индексные регистры SI (Индекс источника) и DI(индекс приемника) так же, как и регистры дан­ных, могут использоваться произвольным образом. Однако их основное назначение - хранить индексы (смещения) относитель­но некоторой базы (т.е. начала массива) при выборке операн­дов из памяти. Адрес базы при этом может находиться в базо­вых регистрах ВХ или ВР. Специально предусмотренные команды работы со строками используют регистры SI и DI в качестве неявных указателей в обрабатываемых строках.Регистр ВР служит указателем базы при работе с данными в стековых структурах, но может использоваться и произволь­ным образом в большинстве арифметических и логических опе­раций.Последний из группы регистров-указателей, указатель стека SP, стоит особняком от других в том отношении, что исполь­зуется исключительно как указатель вершины стека, обес­печивая выполнение стековых команд (PUSH, POP и др). Регистры SI, DI, ВР и SP, в отличие от регистров данных, не допускают побайтовую адресацию.Сегментные регистры: Четыре сегментных регистра CS, DS, ES иSS являются важнейшим элементом архитектуры процессора, обеспечивая адресацию 20-разрядного адресного пространства с помощью 16-разрядных операндов. Регистр флагов, эквивалентный регистру состояния процессо­ра других вычислительных систем, содержит информацию о те­кущем состоянии процессора. Он включает 6 флагов состояния и 3 бита управления состоянием процессора, кото­рые, впрочем, тоже называются флагами.Флаг переноса CF индицирует перенос или за­ем при выполнении арифметических операций, а также служит индикатором ошибки при обращении к системным функциям.Флаг паритета PF устанавливается в 1, если результат операции содержит четное число двоичных единиц.Флаг вспомогательного переноса AF исполь­зуется в операциях над упакованными двоично-десятичными числами. Он индицирует перенос или заем из старшейтетрады (бита 3).Флаг нуля ZF устанавливается в 1, если резуль­тат операции равен 0.Флаг знака SF (SignFlag) показывает знак результата опе­рации, устанавливаясь в 1 при отрицательном результате.Управляющий флаг трассировки (ловушки) TF используется для осуществления пошагового выполнения про­граммы. Управляющий флаг разрешения прерываний IF разрешает (если равен 1) или запрещает (если равен 0) процессору реагировать на прерывания от внешних устройств.Управляющий флаг направления DF исполь­зуется командами обработки строк. Флаг переполнения OF фиксирует перепол­нение, т.е. выход результата за пределы допустимого диапазона значений. Для работы с регистром флагов предусмотрен ряд команд. Установка и сброс флагов CF, DF и IF осуществляется коман­дами STC, STD и STI (установка) и CLC, CLD и CLI (сброс). Все содержимое регистра флагов можно сохранить в стеке ко­мандой PUSHF и извлечь из стека командой POPF; кроме то­го, младший байт регистра флагов (флаги CF, PF, AF, ZF и SF) можно переслать в регистр АН командой LAHF или загру­зить в регистр флагов из АН командой SAHF.АН.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]