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



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

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

ml /с /coff myio.asm

link /DLL /DEFimyio.def myio.obj

Работа с функциями АЛУ

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

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

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

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


назад далее