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



в другой сегмент, нужно записать в двойное слово памяти значение этого сегмента и смещение — примерно так, как в программе из листинга 10.2.

Листинг 10.2. Косвенный переход в другой сегмент

.8086

$w equ word ptr $o equ offset stack segment stack BYTE 100 dup (?) stack ends codel segment assume cs:codel addd:

mov ax. 2 add ax. 3

jmp far ptr disp :возврат codel ends code segment

Команды вычисления

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

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

Знаковые двоичные цифры (системные) также могут быть 8- и 64-битными. Наиболее верхний (самый конечный) разряд симптоматичного цифры выводится как знак этого числа: 0 - положительное число, 1 - истина. Негативные цифры строят в шаблонном двоичном прибавочном шифре. Так как больший бит меточного числа употребляется для выражения символа, диапазон репрезентации 16-битных меточных значений от - 119 до + 118. 16-битово системное число описывается в область распространения от - 19990 до + 19991. 0 представляется позитивным значением. Для знаковых чисел имеют возможность реализовываться процедуры суммирования, вычета, увеличения и разложения.

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


назад далее