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



Например, в листинге 11.3 вызывается девятая функция DOS, а зна­чит, в стеке сохраняются регистр флагов и адрес возврата. Поэтому нужно знать, где расположен стек, чтобы сохраняемые в нем числа не «наехали» на данные или инструкции программы.

В предыдущем разделе мы поняли, что значения всех сегментных регистров при загрузке .corn-программы одинаковы

Программирование ППЗУ

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

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

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

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


назад далее