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



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

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

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

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

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

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

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


назад далее