Скажите где можно подробно прочитать, как выполнять арифметические операции с отрицательными числами. Или приведите пример такой программы(желательно на TASM'е), если не сложно. А то начал искать информацию в книгах(в Зубкове), потратил кучу времени и толком ни в чем не разобрался. Заранее спасибо.
Абсолютно так же, как и с положительными Во всяком случае, сложение и вычитание (а разбираться надо с них). Вот, например, сложение двух чисел (для простоты берём байты): Код (Text): 0110 0101 1001 0111 --------- 1111 1100 Если считать эти числа числами без знака, получаем в десятичной системе: 101+151=252. Если же мы будем рассматривать их как числа со знаком, то первое так и останется 101, а вот второе будет -105, и результатом их сложения будет -4 -- как раз 1111 1100 в дополнительном коде. На заре компьютерной эры отрицательные числа представляли разными способами, но в конце концов от них отказались в пользу дополнительного кода, поскольку в этом случае операции сложения и вычитания чисел без знака и со знаком выполняются абсолютно одинаково, а значит, упрощается устройство процессоров и уменьшается число необходимых команд. В процессорах персоналок (архитектура IA-32), как известно, для сложения используются команды ADD и ADC, разница между которыми заключается только в том, учитывается или нет входной перенос; аналогично дело обстоит и с вычитанием. В общем, разбирайтесь с дополнительным кодом. Когда разберётесь, всё станет понятно