Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_2011.doc
Скачиваний:
64
Добавлен:
09.12.2018
Размер:
1.15 Mб
Скачать
  1. Регистры состояния и управления

Регистры содержат информацию как о состоянии самого микропроцессора, так и программы, которая загружена в данный момент. К этим регистрам относятся регистр флагов и регистр указателя команд IP.

Регистр флагов

EFLAGS/FLAGS

31..19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

AC VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF

CF – флаг переноса. Арифметическая операция произвела перенос из старшего бита (есть перенос – 1, нет – 0).

PF – флаг паритета. Проверка четности количества единиц в младшем байте. Если четное количество единиц – записывается 1, если нечетное - 0.

AF – вспомогательный флаг переноса, который используется в операциях с BCD – числами.

ZF – флаг нуля. Если нулевой результат операции, то здесь записывается 1, в противном случае – 0.

SF – флаг знака. Отражает состояние старшего бита результата (7, 15, 31, 63 и т.д. – старшие биты).

OF – флаг переполнения. Используется для фиксирования факта потери значащего бита при выполнении арифметической операции (1- потеря, 0 – нет).

IOPL – два соседних разряда (12 и 13) – уровень привилегий ввода/вывода. Используется в защищенном режиме для контроля доступа к командам ввода/вывода в зависимости от привилегированности задачи.

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

TF – флаг трассировки, предназначен для пошагового выполнения работы микропроцессора.

IF – флаг разрешения прерываний (1- аппаратные прерывания разрешены, 0 – запрещены).

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

VM – флаг виртуального МП 8086 (1- процессор работает в режиме виртуального МП 8086, 0 – процессор работает в защищенном или реальном режиме).

AC – флаг выравнивания.

DF – флаг управления при использовании цепочных команд (0 - направления от начала к концу (возрастание адресов), 1 – строка обрабатывается по убыванию (от конца к началу строки)).

Существует 2 команды: STD – установить флаг DF, CLD – сбросить флаг DF.

IP – счетчик команд.

  1. Регистры защищенного режима:

TR, LDTR, GDTR, IDTR

  1. Организация памяти (реальный режим)

Особенности организации памяти в реальном режиме

  1. Память сегментирована. Каждый сегмент может занимать до 64 Кбайт оперативной памяти.

  2. Весь диапазон оперативной памяти – 1Мбайт.

  3. Для обращения к конкретному физическому адресу в ОП необходимо определить адрес начала сегмента и смещения внутри сегмента.

Недостатки такой адресации:

    1. Сегменты не защищены

    2. Программа может обращаться по любым адресам. Сегменты имеют максимальный размер 64 Кбайт.

    3. Сегменты могут перекрываться с другими сегментами.

Формирование физического адреса:

Эффективный адрес Линейный адрес

Смещение

Страничное

BX BP ∑ преобразование.

SI DI x16

Физический адрес

15 0

CS

DS

SS

(*)

FS

ES

GS

Каждый сегмент начинается на границе параграфа. При вычислении эффективного адреса участвует один из сегментных регистров. Каждый сегментный регистр имеет 16 разрядов. Умножение на 16 эквивалентно добавлению четырех младших разрядов к адресу сегмента. Таким образом, мы получим 20 разрядов и адресное пространство 1Мбайт. Если устройство страничного преобразования не используется, то физический адрес равен линейному.

Пример:

DS=015FH, Смещение=2845H

Эффективный адрес операнда в памяти:

015F0H

+ 2845H

03E35H

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