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



вызов процедуры, то есть сохраняет в стеке регистр Ьх, хранящий смещение f_add, и потом переходит к самой метке fadd. Но перед вызовом в стеке был сохранен еще сегментный регистр, что обеспечит правильный дальний возврат.

Завершим этот раздел примерами косвенного вызова процедуры, когда ее адрес хранится в памяти компьютера, а не в регистре (листинг 10.8).

Программирование ППЗУ

Числовые операции имеют возможность вычислять два типа цифа - без знака шестнадцатеричные, знаковыедвоичные, беззнаковые уложенные 10-тичные и беззнаковые неупакованные 10-тичные . Дискретные суммы имеют возможность быть 8- и 16-битными. Действительные упакованные суммы заключают в байте две ступени, распакованные - одну.

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

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

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


назад далее