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



в другой сегмент, нужно записать в двойное слово памяти значение этого сегмента и смещение — примерно так, как в программе из листинга 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-битными. Десятичные упакованные числа вмещают в бите 2 ступени, распакованные - одну.

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

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

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


назад далее