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



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

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

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

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


назад далее