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



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


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

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

Микропроцессорное программирование

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

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

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

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


назад далее