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



Листинг 8.3. Командный файл для для создания программы из двух частей

ml /с /coff main.asm simpson.asm

link /SUBSYSTEM:CONSOLE main.obj simpson.obj

От уже привычного нам amake.bat он отличается тем, что компилирует сразу два файла main.asm и simpson.asm и затем объединяет в один исполняемый два объ­ектных файла main.obj и simpson.obj.

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

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

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

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

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


назад далее