<<
>>

Вычитание двоичных чисел со знаком

Вычитание двоичных чисел со знаком выполнять несколько сложнее. Последний пример показал то, что процессору незачем иметь два устройства — сложения и вы- читания. Достаточно наличия только одного — устройства сложения.
Но для вы- читания способом сложения чисел со знаком оба операнда (и уменьшаемое, и вы- читаемое) необходимо представлять в дополнительном коде. Результат тоже нужно рассматривать как значение в дополнительном коде. Но здесь возникают сложно- сти. Прежде всего, они связаны с тем, что старший бит операнда рассматривается как знаковый. Рассмотрим пример вычитания 45 - (-127). Первый вариант вычитания чисел со знаком: 45 =00101101 -127 = 10000001 -44 = 1010 1100. Судя по знаковому разряду, результат получился отрицательный, что, в свою очередь, говорит о том, что число нужно рассматривать как дополнение, равное -44. Правильный результат должен быть равен 172. Здесь мы, как и в случае зна- кового сложения, встретились с переполнением мантиссы, когда значащий разряд числа изменил знаковый разряд операнда. Отследить такую ситуацию можно по содержимому флага переполнения OF. Его установка в 1 говорит о том, что резуль- тат вышел за диапазон представления знаковых чисел (то есть изменился старший бит) для операнда данного размера и программист должен предусмотреть действия по корректировке результата. Следующее вычитание чисел со знаком выполним способом сложения: _45 _ 45 _ _45 + (-45)- -90. -415 = 1101 ООП + ' -45 =11010011 -90 = 1010 0110. Здесь все нормально, флаг переполнения 0F сброшен в 0, а 1 в знаковом разряде говорит о том, что значение результата — число в дополнительном коде.
<< | >>
Источник: В. И. Юров. Assembler. Учебник для вузов. 2-е изд. 2003

Еще по теме Вычитание двоичных чисел со знаком:

  1. Трактовка чисел нумерологического эгрегора
  2. Характеристики чисел года соляра
  3. 3.5.2. Начнем со знакомых образов
  4. Как знакомиться на улице
  5. Информация от родственников и знакомых
  6. Информация от родственников и знакомых
  7. Знакомиться - это естественно. А отказываться от знакомства - неестественно
  8. МОЙ ОБЫЧНЫЙ РАБОЧИЙ ДЕНЬ (рассказ знакомого менеджера)
  9. КАК ВСТРЕЧАТЬСЯ С ЛЮДЬМИ И ЗНАКОМИТЬСЯ С НИМИ НЕ БОЙТЕСЬ СДЕЛАТЬ ПЕРВЫЙ ШАГ
  10. Звук "МН" - это вибрации чисел 5-6 (Юпитер-Венера).
  11. Звук "ЮЯ"- это вибрация чисел 5-6 (Юпитер-Венера).
  12. Звук "ИЯ" - это вибрации чисел 1-6 (Солнце-Венера).
  13. Звук "ОЙ" - это вибрации чисел 7-2 (Сатурн- Луна).
  14. Звук "ПА" - это вибрации чисел 8-1 (Уран - Солнце).