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

Банкротство ип практика на сайте www.prof-re.ru. |

Вычисление модуля числа размером N байт (реверсивное)



Вычисление модуля числа размером N байт (реверсивное)

calc_abs_r - процедура на ассемблере вычисления модуля числа размером N байт

:(старший байт по младшему адресу).

:Вход: регистр ВХ - адрес операнда в памяти: регистр СХ - длина операнда. :Выход: регистр ВХ - адрес модуля операнда в памяти.

.code

calc_abs_r proc определим знак операнда

test byte ptr [bx],80h ;проверяем знак operand

jz @@exit :число положительное

call calc_complement_r @@exit: ret calc_abs_r endp

Для вычислений над операндами, порядок следования байтов которых характерен для микропроцессоров Intel, нам придется разработать еще один вариант процедуры умножения значений размерностью в произвольное количество байтов. Псевдокод и соответствующая ему программа на ассемблере mul_sign_NM_I приведены на дискете.




- Начало -  - Назад -  - Вперед -