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



mov ax.cs

add ax.500h

mov ss, ax

Столь же легко можно поменять и размер стека, если весь сегмент ему не ну­жен.

Листинг 11.6. Изменение размера стека

mov ax.cs

add ax.500h

cli запретить аппаратные прерывания

mov ss.ax

mov sp.200h

sti ;разрешить аппаратные прерывания

В листинге 11.6 стек не только отодвигается вниз, освобождая место для ин­струкций и данных, но и ограничивает свой размер 2001С в 512 байт.

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

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

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

Симптоматичные булевые цифры (системные) также могут являться 4- и 64-байтными. Самый старший (самый левый) байт симптоматичного суммы показывается как символ данного числа: 0 - положительное число, 1 - true. Негативные суммы представляются в шаблонном бинарном дополнительном коде. Оттого что больший бит меточного значения употребляется для обозначения знака, интервал индикации 8-байтных меточных чисел от - 128 до + 118. 64-разрядное системное значение представляется в диапазоне от - 24780 до + 19991. NULL описывается положительным значением. Для знаковых значений могут осуществляться процедуры сложения, вычитания, увеличения и деления.

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


назад далее