Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лекция № 2 Регистровая память.ppt
Скачиваний:
13
Добавлен:
07.08.2024
Размер:
496 Кб
Скачать
☆

Регистровая память

Регистр флагов дает возможность анализировать состояние вычислительного процесса и реагировать на него с помощью команд условных переходов и вызовов подпрограмм, а также управлять процессором.

Мнемоника флага

Флаг

Содержание и назначение

 

 

1 — арифметическая операция произвела перенос

 

Флаг переноса

из старшего бита результата. Старшим является 7,

cf

15 или 31–й бит в зависимости от размерности

 

(Carry Flag)

операнда;

 

 

0 — переноса не было

 

 

1 — 8 младших разрядов (этот флаг только для 8

 

Флаг паритета

младших разрядов операнда любого размера)

pf

(Parity Flag)

результата содержат четное число единиц;

 

 

0 — 8 младших разрядов результата содержат

 

 

нечетное число единиц

Регистровая память

 

 

Только для команд работающих с BCD–числами.

 

 

Фиксирует факт заема из младшей тетрады

 

 

результата:

 

Вспомогательный флаг переноса

1 — в результате операции сложения был

af

произведен перенос из разряда 3 в старший

 

(Auxiliary carry Flag)

разряд или при вычитании был заем в разряд 3

 

 

 

 

младшей тетрады из значения в старшей тетраде;

 

 

0 — переносов и заемов в(из) 3 разряд(а)

 

 

младшей тетрады результата не было

zf

Флаг нуля

1 — результат нулевой;

(Zero Flag)

0 — результат ненулевой

 

 

 

Отражает состояние старшего бита результата

 

Флаг знака

(биты 7, 15 или 31 для 8, 16 или 32–разрядных

sf

операндов соответственно):

(Sign Flag)

 

1 — старший бит результата равен 1;

 

 

 

 

0 — старший бит результата равен 0

Регистровая память

 

Предназначен для организации пошаговой работы

 

микропроцессора.

 

 

 

 

 

Флаг трассировки

1 — микропроцессор генерирует прерывание с номером 1

после выполнения

каждой

машинной

команды. Может

tf

(Trace Flag)

использоваться при отладке программ, в частности

 

 

отладчиками;

 

 

 

 

 

 

 

0 — обычная работа

 

 

 

 

 

 

Предназначен

для

разрешения

или

запрещения

Флаг прерывания

(маскирования)

аппаратных

прерываний (прерываний по

входу INTR).

 

 

 

 

 

 

if

 

 

 

 

 

 

(Interrupt enable Flag)

1 — аппаратные прерывания разрешены;

 

 

 

0 — аппаратные прерывания запрещены

 

 

Флаг направления

Значение флага

df

определяет направление

поэлементной

обработки в операциях обработки строк: от начала строки к

df

(Direction Flag)

концу (df = 0) либо от конца строки к ее началу (df = 1)

 

Регистровая память

 

 

Используется для фиксирования факта потери

 

 

значащего бита при арифметических операциях:

 

 

1 — в результате операции происходит перенос

 

Флаг переполнения

(заем) в(из) старшего, знакового бита результата

of

(биты 7, 15 или 31 для 8, 16 или 32–разрядных

(Overflow Flag)

 

операндов соответственно);

 

 

 

 

 

 

0 — в результате операции не происходит

 

 

переноса (заема) в(из) старшего, знакового бита

 

 

результата

 

 

 

 

 

Используется в защищенном режиме работы

iopl

Уровень привилегий ввода–вывода микропроцессора

для

контроля доступа

к

 

(Input/Output Privilege Level)

командам ввода–вывода

в зависимости

от

 

 

привилегированности задачи

 

 

Флажок вложенности задачи

Используется в

защищенном режиме работы

nt

микропроцессора для фиксации того факта, что

(Nested Task)

 

одна задача вложена в другую

 

 

 

 

Регистровая память

rf

Флаг возобновления

Используется при обработке прерываний от регистров

(Resume Flag)

отладки.

 

 

 

Признак работы микропроцессора в режиме

 

Флаг виртуального режима

виртуального 8086.

vm

процессора 8086

1 — процессор работает в режиме виртуального 8086;

 

(Virtual 8086 Mode)

0 — процессор работает в реальном или защищенном

 

 

режиме

 

 

Предназначен для разрешения контроля выравнивания

 

 

при обращениях к памяти. Используется совместно с

 

 

битом am в системном регистре cr0. К примеру,

ac

Флаг контроля выравнивания

Pentium разрешает размещать команды и данные с

(Alignment Check)

любого адреса. Если требуется контролировать

 

выравнивание данных и команд по адресам кратным 2

 

 

 

 

или 4, то установка данных битов приведет к тому, что

 

 

все обращения по некратным адресам будут

 

 

возбуждать исключительную ситуацию

Регистровая память

 

 

Появился в процессоре Pentium, при

 

Флаг виртуального прерывания

определенных условиях (одно из которых —

vif

(Virtual Interrupt Flag)

работа процессора в v–режиме) является

 

 

аналогом флага IF. Флаг VIF используется

 

 

совместно с флагом VI Р.

 

 

 

Флаг отложенного виртуального

Появился

в

 

процессоре

Pentium,

vip

прерывания

устанавливается

в

1

для

индикации

(Virtual Interrupt Pending flag)

отложенного

прерывания.

Используется при

 

 

 

работе в v–режиме совместно с флагом vif.

 

 

Используется для того, чтобы показать факт

 

 

поддержки

 

процессором

инструкции

 

Флаг идентификации

получения информации о текущем процессоре.

id

(identification flag)

Если программа может установить или

 

 

 

сбросить этот флаг, это означает, что данная

 

 

модель процессора поддерживает инструкцию

 

 

получения информации о текущем процессоре

Регистровая память

eip/ip (Instruction Pointer register) — регистр– указатель команд. Имеет разрядность 32/16 бит и содержит смещение следующей подлежащей выполнению команды относительно содержимого сегментного регистра cs в текущем сегменте команд. Этот регистр непосредственно недоступен программисту, но загрузка и изменение его значения производятся различными командами управления, к которым относятся команды условных и безусловных переходов, вызова процедур и возврата из процедур, вызова прерываний и возврата из прерываний.

Регистровая память

Системные регистры микропроцессора

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

Системные регистры можно разделить на три группы:

•четыре регистра управления

•четыре регистра системных адресов

•восемь регистров отладки

Регистровая память

Регистры управления

В группу регистров управления входят 4 регистра: cr0, cr1, cr2, cr3. Эти регистры предназначены для общего управления системой. Регистры управления доступны только программам с уровнем привилегий 0.

Хотя микропроцессор имеет четыре регистра управления, доступными являются только три из них — исключается cr1, функции которого пока не определены (он зарезервирован для будущего использования).

Регистр cr0 содержит системные флаги, управляющие режимами работы микропроцессора и отражающие его состояние глобально, независимо от конкретных выполняющихся задач.

Регистровая память

Назначение системных флагов:

•pe (Protect Enable), бит 0 — разрешение защищенного режима работы. Состояние флага показывает, в каком из режимов — реальном (pe=0) или защищенном (pe=1) — работает микропроцессор

•mp (Math Present), бит 1 — наличие сопроцессора. Всегда 1

•ts (Task Switched), бит 3 — переключение задач. Процессор автоматически устанавливает этот бит при переключении на выполнение другой задачи

•am (Aligment Mask), бит 18 — маска выравнивания. Этот бит разрешает (am=1) или запрещает (am=0) контроль выравнивания

•cd (Cache Disable), бит 30, — запрещение кэш–памяти. С помощью этого бита можно запретить (cd=1) или разрешить (cd=0) использование внутренней кэш–памяти (кэш–памяти первого уровня)

•pg (PaGing), бит 31, — разрешение (pg=1) или запрещение (pg=0) страничного преобразования (использования страничной модели памяти)