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




Теперь можно вызвать саму процедуру StrDisp, но директива invoke уже не по­дойдет, потому что нам, по сути, известен только адрес процедуры, полученный с помощью GetProcAddress, а не ее имя. Поэтому ее параметры заталкиваются в стек инструкциями push, а сама процедура вызывается инструкцией call, ис­пользующей косвенную адресацию: call [StrDispAddr]

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

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

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

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

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


назад далее