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



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


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

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

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

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

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

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

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


назад далее