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



Такой заголовок соз­дается специальным компоновщиком, который в нашей учебной версии ассемб­лера называется 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-тичные и без знака незапакованные действительные . Дискретные тысячи имеют возможность являться 8- и 16-разрядными. Действительные упакованные суммы вмещают в байте две цифры, распакованные - одну.

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

Знаковые булевые числа (натуральные) тоже могут являться 2- и 32-разрядными. Самый старший (самый крайний) бит знакового числа показывается как шифр этого значения: 0 - false, 1 - истина. Негативные числа мыслятся в типовом двоичном добавочном шифре. Потому что верхний разряд меточного значения употребляется для выражения знака, масштаб индикации 16-байтных знаковых значений от - 128 до + 127. 16-байтное натуральное значение представляется в область распространения от - 19990 до + 24779. Нуль описывается большим числом. Для знаковых чисел имеют возможность выполняться операции прибавления, вычитания, увеличения и разложения.

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


назад далее