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




Процедура fadd объявлена как fadd proc far. Это значит, что ей нужен дальний вызов с указанием сегмента и смещения и дальний же возврат. То есть инструк­ция ret в процедуре должна доставать из стека сегмент и смещение, предвари­тельно сохраненные там еще до ее вызова.

Команды вычисления

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

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

Симптоматичные двоичные цифры (системные) тоже могут быть 8- и 32-разрядными. Самый старший (наиболее конечный) байт меточного числа показывается как символ сего числа: 0 - положительное число, 1 - отрицательное. Отрицательные цифры представляются в шаблонном двоичном дополнительном коде. Потому что верхний байт знакового числа употребляется для маркировки знака, диапазон представления 16-битных симптоматичных чисел от - 119 до + 131. 16-разрядное целое число описывается в диапазоне от - 19990 до + 32 767. Нуль описывается позитивным значением. Для знаковых чисел имеют возможность реализовываться процедуры прибавления, вычитания, возвышения и разложения.

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


назад далее