Таблицы для двоичной арифметики будут следующими:
Сложение Вычитание Умножение
0+0=0 0-0=0 0*0=0
0+1=1 1-0=1 0*1=0
1+0=1 1-1=0 1*0=0
1+1=1+единица 10-1=1 с учетом 1*1=1
переноса в стар. разряд заема 1 в стар. разр-е 1+1+1(переноса)=1+1 переноса
Сложение многоразрядных целых двоичных чисел производится по описанным выше правилам и с учетом переноса или заема единицы из предыдущего разряда. Если из старшего разряда представления многоразрядного целого числа получается единица переноса, такая ситуация называется переполнением разрядной сетки. Большинство программ обработки информации на языках высокого уровня в такой ситуации выдают соответствующее сообщение и прекращают обработку. В программах на Ассемблере программист должен сам в своей программе выявлять такие ситуации переполнения и предусматривать соответствующую обработку. При этом программист должен руководствоваться следующими правилами:
определяется наличие переносов из двух старших разрядов числа
-
если переносов нет, то результат операции правильный;
-
если есть переносы из обеих разрядов, то результат операции тоже правильный;
-
если из одного разряда есть перенос, а из другого нет, то результат операции неверный, фиксируется ситуация переполнения.
Умножение многоразрядных двоичных чисел производится путем образования частичных произведений и последующего их суммирования. Частичные произведения получаются после сдвигов умножителя.
Операция деления представляется последовательностью операций вычитания и сдвига делителя.