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



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

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

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

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

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

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


назад далее