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



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

nearp WORD f_add farp DWORD f_add

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

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

digit WORD 3 :0008 0300

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

Логические команды

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

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

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

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


назад далее