Сборник по задачам и примерам Assembler

     

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



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

Вычитание чисел размером 1 байт без учета знака

---------------------------------------------------------------------

;sub_unsign - процедура вычитания чисел размером 1 байт без учета знака
;Вход: minuend и deduction - уменьшаемое и вычитаемое.
:Выход: minuend - результат вычитания

.---------------------------------------------------------------------

.data значения в minuend и deduction нужно задать

minuend db ? уменьшаемое

deduction db ? ;вычитаемое

.code

sub_unsign proc

mov al .deduction

subminuend.al :оценить результат на случай уменьшаемое < вычитаемого

jnc end_p ; нет заема обрабатываем ситуацию заема из старшего разряда - получаем модуль (если нужно)

neg minuend end_p: ret sub_unsign endp

Программа учитывает возможное соотношение: уменьшаемое<вычитаемого. Вычитание чисел большей размерности (2/4 байта) выполняется аналогично. Необходимо заменить директивы DB на DW/DD и регистр AL на АХ/ЕАХ.



Содержание раздела