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



Такой заголовок соз­дается специальным компоновщиком, который в нашей учебной версии ассемб­лера называется Iinkl6.exe. Чтобы приготовить с его помощью программу для DOS, нужен специальный командный файл, показанный в листинге 9.2.

Листинг 9.2. Командный файл dmake.bat для создания DOS-программ

ml /с fcl.asm

linkl6 Xl.obj.Xl.exe....

Как видим, DOS-программа приготовляется тем же ассемблером, но другим компоновщиком. Запятые в командной строке, запускающей Iinkl6.exe, обозна­чают отсутствующие служебные файлы, которые нам не интересны.

Файл dmake.bat удобно поместить в ту же папку, что и amake.bat, создающий консольные приложения. Если сохранить программу из листинга 9.1 в файле I91.asm, то вызов командного файла с параметром 191: dmake 191

создаст программу I91.exe, которая запускается из командной строки FAR так же, как и консольное приложение Windows, и так же выводит на экран строку Не могу молчать!. Но мы-то знаем, что это другая программа, которую Windows исполняет совсем иначе.

Этот компоновщик тоже написан для системы DOS, но отлично чувствует себя в среде Windows.

Вычислительные команды

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

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

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

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


назад далее