Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпорки_2.docx
Скачиваний:
9
Добавлен:
09.02.2015
Размер:
874.63 Кб
Скачать

Вопрос №12

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

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

  1. Регистр флагов EFLANGS/FLAGS.

00 CF– флаг переноса:

1 – арифметическая операция произвела перенос из старшего бита

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

02 PF– флаг четности:

1 – 8 младших разрядов результата содержат четное число единиц

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

04 AF– вспомогательный флаг переноса; применяется только для команд, работающих сBCD-числами; фиксирует факт переноса из младшей тетради результата;

1 – перенос был

2 – переноса не было

06 ZF– флаг нуля;

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

2 – результат ненулевой

07 SF– флаг знака; отображает состояние старшего бита результата

1 – старший бит равен 1

2 – 0

11 OF– флаг переполнения; используется для фиксации факта потери значащего бита при арифметических операциях:

1 – в результат операции происходит перенос в старший знаковый бит (67) или заем из старшего бита (76)

2 – переноса и заема не происходит

12 IOPL– уровень привилегированности ввода/вывода, используют в защищенном режиме для контроля доступа к командам ввода/вывода

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

10 DF– флаг направления, используется цепочечными командами:

1 – от начала строк к концу

0 – наоборот

Системные флаги.

08 TF– флаг трассировки, организует пошаговую работу процессора

09 ZF– флаг прерываний, предназначен для разрешения или запрещения аппаратных прерываний

1 – разрешено

0 – запрещено

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

17 VM– флаг виртуального 8086

1 – процессор в режиме 8086

0 – защищенный режим

Вопрос №13

Процессоры Intel аппаратно поддерживают сегментную организацию программы. Это означает, что любая программа состоит как минимум из трех сегментов: кода, данных и стека. При выборке каждой команды для доступа к данным программы или к стеку неявно используется информация из вполне определенных сегментных регистров. В зависимости от режима работы процессора по их содержимому определяются адреса памяти, с которых начинаются соответствующие сегменты. В программной модели IA-32 имеется шесть сегментных регистров CS, SS, DS, ES, GS, FS, служащих для доступа к четырем типам сегментов.

  1. Сегмент кода. Содержит команды программы. Для доступа к этому сегменту служит регистр сегмента кода (code segment register) CS. Содержит команду программы, адрес сегмента к которому имеет доступ компьютер.

  2. Сегмент данных. Для доступа к этому сегменту служит регистр сегмента данных (data segment register) DS, в который помещен адрес сегмента данных текущей программы.

  3. Сегмент стека. (stack segment register) SS, содержащий адрес сегмента стека.

  4. Дополнительный сегмент данных: ES, GS, FS.

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