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




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

Команды микропроцессора

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

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

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

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


назад далее