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



Без всякого сомнения, самое сложное в этом примере — объявления переме! ных nearp и farp:

nearp WORD f_add farp DWORD f_add

Мы привыкли, что метка — это содержимое переменной. В этом нас, казалось бы, убеждает отрывок программы:

mov ах.digit :0000 2ЕА10800 MOV АХ.CS:[0008]

digit WORD 3 :0008 0300

после исполнения которого в регистре ах оказывается тройка

Вычислительные команды

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

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

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

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


назад далее