- •Оглавление
- •Вопрос №3
- •Вопрос №4
- •Вопрос №5
- •Вопрос №6 Системы исчисления
- •Вопрос №7
- •Вопрос №8
- •Вопрос №9
- •Вопрос №10
- •Вопрос №11
- •Вопрос №12
- •Вопрос №13
- •Вопрос №14
- •Вопрос №15
- •Вопрос №16
- •Вопрос №17
- •Вопрос №18
- •Вопрос №19
- •Вопрос №20
- •Вопрос 21
- •Вопрос 22
- •Вопрос 23
- •Вопрос №24
- •Вопрос № 25
- •Вопрос № 26
- •Вопрос №27
- •Вопрос №28
- •1. Команда пересылки данных.
- •Вопрос №29
- •Вопрос №30
- •Вопрос №31
- •Вопрос №32
- •Вопрос №33
- •Вопрос №33(Краткая версия)
- •1) Команда вызова процедуры.
- •2) Команда возврата управления.
- •Вопросы №34
- •Вопросы №35
- •Вопрос №36
- •1) Команда организации цикла.
- •2) Команда перехода по обнуленному счетчику.
- •3) Команды организации цикла с условием.
- •Вопрос №37
- •Вопросы №38
- •Вопрос №39
- •Вопрос №40
Вопрос №12
Отдельные биты данного регистра имеют определенное функциональное назначение и называются флагами. Некоторые флаги состояния могут изменяться после выполнения команд. Это дает возможность анализировать состояние вычислительного процессора и реагировать на нее с помощью корректирующих программ.
Флаговый регистравтоматически изменяется процессором после математических операций. Он позволяет определять тип результата и передавать управление другим участкам программы. Вообще вы не можете напрямую обращаться к этим регистрам.
Регистр флагов 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, служащих для доступа к четырем типам сегментов.
Сегмент кода. Содержит команды программы. Для доступа к этому сегменту служит регистр сегмента кода (code segment register) CS. Содержит команду программы, адрес сегмента к которому имеет доступ компьютер.
Сегмент данных. Для доступа к этому сегменту служит регистр сегмента данных (data segment register) DS, в который помещен адрес сегмента данных текущей программы.
Сегмент стека. (stack segment register) SS, содержащий адрес сегмента стека.
Дополнительный сегмент данных: ES, GS, FS.