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



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

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

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

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


назад далее