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



Без всякого сомнения, самое сложное в этом примере — объявления переме! ных 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-байтными. 10-тичные разряжённые числа вмещают в бите 2 цифры, распакованные - единственную.

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

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

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


назад далее