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

23. Объяснить назначение регистра признаков и описать основные признаки в его составе.

Регистр признаков (флаговый регистр)

Содержит 16 бит признаков (флагов), которые указывают состояние процессора. Они управляются и используются различными командами. Во всех случаях признаки сохраняют значение до тех пор, пока другая команда не изменит их. Регистр признаков содержит следующие девять используемых бит (звездочками отмечены неиспользуемые биты):

номер бита: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

признак: * * * * O D I T S Z * A * P * C

CF (Carry Flag) – признак переноса. Содержит значение “переносов” (0 или 1) из старшего разряда при арифметических операциях и некоторых сдвиговых операциях.

PF (Parity Flag) – признак четности.

Проверяет младшие восемь бит результатов операций над данными. Нечетное число бит приводит к сбросу признака, четное – к установке. Не следует путать признак четности с битом контроля на четность.

AF (Auxiliary Carry Flag) – дополнительный признак переноса.

Устанавливается, если арифметическая операция приводит к переносу четвертого справа бита (бит номер 3) в регистровой однобайтовой команде. Этот признак имеет отношение к арифметическим операциям над символами кода ASCII и к десятичным упакованным полям.

ZF (Zero Flag) – признак нуля.

Устанавливается в качестве результата арифметических команд и команд сравнения. Ненулевой результат приводит к появлению нулевого значения признака, нулевой – единичного значения. Кажущееся несоответствие логически правильно, так как 0 означает нет (результат не равен нулю), а единица обозначает да (результат равен нулю). Команды условного перехода JE и JZ проверяют этот признак.

SF (SIgn Flag) – знаковый признак.

Устанавливается соответственно знаку результата (старшего бита) после арифметических операций: положительному результату соответствует 0, отрицательному – 1. Команды условного перехода JG и JL проверяют этот признак.

TF (Trap Flag) – признак пошагового выполнения.

Если признак установлен, то процессор переходит в режим пошагового выполнения команд: на каждом шаге выполняется одна команда под управлением пользователя.

IF (Interrupt Flag) – признак прерывания.

При нулевом состоянии этого признака прерывания запрещены, при единичном – разрешены.

DF (DIrection Flag) – признак направления.

Используется в цепочечных операциях для определения направления передачи данных. При нулевом состоянии команда увеличивает содержимое регистров SI и DI, вызывая передачу данных слева направо, при нулевом – уменьшает содержимое этих регистров, вызывая передачу данных справа налево.

OF (Overflow Flag) – признак переполнения.

Фиксирует арифметическое переполнение – перенос вниз старшего (знакового) бита при знаковых арифметических операциях

24. Объяснить состав и основные особенности использования команд организации циклов и неявное использование регистров в них.

Команда простого цикла

Команда LOOP обеспечивает исполнение группы команд, составляющих тело цикла, заданное количество раз. Число, задающее количество повторений цикла, нужно загрузить в регистр CX перед началом цикла. Сама команда помещается в конце цикла. При выполнении она каждый раз уменьшает значение в CX на 1. Если значение CX не равно нулю, она передает управление по адресу, указанному в операнде (на метку). Если значение равно нулю, управление передается следующей очередной команде.

Команды условных циклов

Дополнительно существует две разновидности команды цикла:

1) команда LOOPE (или LOOPZ) – цикл, если равно или нуль; передает управление по адресу операнда, если регистр CX имеет ненулевое значение и признак нуля установлен (ZF=1);

2) команда LOOPNE (или LOOPNZ) – цикл, если не равно или не нуль; передает управление по адресу операнда, если регистр CX имеет ненулевое значение и признак нуля сброшен (ZF=0).

Замечание

Все команды циклов реагируют только на нулевое значение CX. Если значение окажется отрицательным, цикл будет продолжаться.

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