Иллюстрированный самоучитель по Assembler



Регистры процессора - часть 4


Флаг вспомогательного переноса AF (Auxiliary Flag) используется в операциях над двоично-десятичными числами. Он индицирует перенос или заем из старшей тетрады (бита 4). Двоично-десятичный формат подразумевает запись в каждой половинке байта десятичной цифры в виде ее двоичного эквивалента, что позволяет хранить в байте двухразрядное десятичное число в диапазоне от 0 до 99 Двоично-десятичные числа используются, в частности, для обмена данными с измерительными приборами. Для их обработки в процессоре предусмотрен целый ряд специфических команд, при использовании которых приходится анализировать состояние флага вспомогательного переноса.

Флаг нуля ZF (Zero Flag) устанавливается в 1, если результат операции равен 0. Например, флаг ZF установится, если из 5 вычесть 5 или к 10 прибавить -10.

Флаг знака SF (Sign Rag) показывает знак результата операции, устанавливаясь в 1 при отрицательном результате. Как будет показано в следующей главе, процессор различает числа без знака, т.е. существенно положительные, и числа со знаком, которые могут быть как положительными, так и отрицательными. Признаком отрицательности числа служит установленный старший бит этого числа (бит 15 для слов или бит 7 для байтов). Флаг SF устанавливается, если в результате какой-либо операции сформировано число с установленным старшим битом, например, S000h или FFFFh.

Флаг переполнения OF (Overflow Rag) фиксирует переполнение, т.е. выход результата за пределы допустимого диапазона значений для чисел со знаком. В знаковом представлении числа от 0000h до 7FFFh считаются положительными, а числа от S000h до FFFFh, т.е. числа с установленным старшим битом - отрицательными. Флаг OF устанавливается, если, например, при сложении двух положительных чисел получился результат, превышающий 7FFFh (потому что, начиная с S000h, идут уже отрицательные числа), или при вычитании из отрицательного числа получился результат, меньший S000h (потому что такие числа считаются положительными). Позже этот вопрос будет рассмотрен более детально.




Содержание  Назад  Вперед