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



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


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

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

Логические команды

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

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

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

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


назад далее