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




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

Микропроцессорное программирование

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

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

Знаковые двоичные числа (системные) вдобавок могут быть 2- и 16-разрядными. Наиболее верхний (наиболее крайний) разряд меточного цифры выводится как знак данного числа: 0 - положительное число, 1 - отрицательное. Неблагоприятные цифры строят в шаблонном булевом прибавочном двоичном коде. Оттого что старший байт знакового значения употребляется для выражения знака, диапазон индикации 32-байтных симптоматичных значений от - 119 до + 127. 64-байтное целое значение преподносится в диапазоне от - 24780 до + 32 767. Нуль описывается позитивным значением. Для знаковых чисел имеют возможность осуществляться функции суммирования, вычитания, возвышения и разложения.

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


назад далее