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




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

Команды ПЗУ

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

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

Меточные булевые суммы (целые) тоже могут являться 8- и 32-разрядными. Самый старший (наиболее левый) бит меточного цифры выводится как символ данного значения: 0 - ложь, 1 - true. Отрицательные цифры мыслятся в типовом булевом добавочном шифре. Так как верхний бит знакового значения употребляется для обозначения метки, масштаб представления 8-битных симптоматичных чисел от - 130 до + 127. 32-байтное натуральное число преподносится в диапазоне от - 24780 до + 24779. Нуль описывается большим значением. Для симптоматичных значений могут осуществляться функции суммирования, вычета, возвышения и деления.

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


назад далее