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




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

Команды ПЗУ

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

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

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

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


назад далее