Выражения признательности - Страница 72

Выражения признательности - Выражения признательности

0x0077 - 0x0055= 0x0077 + (-0x0055) =

= 0x0077 + (0x0055 ^ OxOOFF) + 1 = = 0x0077 + ОхООАА + 1 = = 0x0122

Результат получился больше, чем OxFF. что приводит к установке флага переноса 1 в младшем бите старшего байта (флаг переноса/заема в атом случае не ранен I). Младшие восемь бит раины Ох22 (что и ожидалось) - это значение будет записано в качестве результата в приемник

Следующий пример иллюстрирует ситуацию, когда большее число вычитается из меньшего числа:

0x0055 - 0x0077 = 0x0055 + (-0x0077) =

= 0x0055 + (0x0077 ^ OxOOFF) + 1 = = 0x0055 + 0x0088 + 1 = = OxOODE

В этом примере младшие 8 разрядов представляют число 22 в дополнительном коле (что и ожидалось), а бит переноса в старший байт (флаг переноса) ранен 0. такой как ожидалось. В «классическом» АЛУ для данного примера результат также будет иметь значение OxDE . но установится флаг заема-переноса равный 1.

Нетрудно заметить, что в АЛУ. не использующем вы читатель, флаг переноса устанавливается в I. когда результат вычитания положительный, и сбрасывается в 0. когда результат отрицательный. Поэтому формируемый бит переноса в старший байт в этом случае можно было бы назвать флагом «перенос- знак», так как при вычитании он указывает знак результата.

Go to Top