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



Зная, где находится командная строка, можно использовать ее для управления программой или просто вывести на экран, как в листинге 11.3.


Инструкция mov hl ,cs:[80h] узнает размер командной строки. Указывать сегмент здесь необходимо, потому что иначе ассемблер воспримет инструкцию mov hl. [80] как пересылку числа 80h в регистр Ы. Далее программа записывает в ко­нец командной строки символы Oah (перевод строки) и после чего строка готова к выводу на экран, что и делает функция DOS под номером 9.

Задача 11.1. Перепишите программу из листинга 11.3 так, чтобы командная строка выводилась на экран без использования информации о ее длине.

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

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

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

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

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


назад далее