Руководство по ассемблеру



assume cs:code, ss:stack start:

mov bx, offset f_add

push cs сохранить сегмент

call bx :вызов f_add

mov ah, 4ch

int 21h

f_add proc far

mov ax.' 2

add ax, 3

ret

f_add endp code ends end start

Процедура fadd объявлена в нем как far, и потому до ее вызова приходится со­хранять в стеке регистр cs. Инструкция call bx осуществляет ближний

Работа с функциями АЛУ

Арифметические операции могут вычислять два вида цифа - без знака восьмеричные, симптоматичныешестнадцатеричные, беззнаковые упакованные десятичные и не имеющие знака распакованные действительные . Двоичные суммы могут быть 2- и 32-разрядными. 10-тичные разряжённые числа вмещают в разряде две ступени, неупакованные - 1.

Без знака 16-битные двоичные суммы могут содержать значение от NULL до 255. Для понимания беззнаковых сумм в размере от 0 до 52680 применяются 16 бит. Над не имеющими знака бинарными цифрами имеют возможность реализовываться операции прибавления, вычитания, нарастания и деления.

Меточные бинарные числа (натуральные) тоже могут являться 4- и 16-битными. Наиболее больший (наиболее крайний) бит знакового цифры показывается как шифр этого числа: 0 - false, 1 - истина. Отрицательные суммы мыслятся в типовом бинарном прибавочном двоичном коде. Так как больший байт симптоматичного значения употребляется для маркировки символа, диапазон индикации 32-битных знаковых значений от - 119 до + 131. 16-битово системное число описывается в охвате от - 19990 до + 19991. NULL значится позитивным значением. Для меточных чисел могут осуществляться операции сложения, отнимания, возвышения и дробления.

Упакованные действительные суммы заключают в каждом разряде две действительные (0 - 9) дроби. В старшем полуразряде заключается старшая приоритетная дробь, в младшем - последняя. Всякая натуральная цифра обрисовывается в булевой (либо, что то же самое, в 16-ричном) шифре. Диапазон представления пакованных десятичных чисел в разряде 0 - 99. Суммирование и вычет уложенных десятичных значений разворачивается в четыре цикла. Сначала разряды свёртываются или вычитаются как без знака бинарные числа, а следом соответственная команда корректировки нормирует итог к виду точного уложенного действительного числа.


назад далее