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



По­этому в файле .def DllMain не требуется директива EXPORTS, а для компиляции биб­лиотеки нужно слегка изменить командный файл, убрав из него ключ /N0ENTRY (листинг 8.9).

Листинг 8.9. Командный файл для создания библиотеки, имеющей точку входа

ml /с /coff myio.asm

link /DLL /DEFimyio.def myio.obj

Арифметические команды

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

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

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

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


назад далее