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



То, что получилось после примерно 10-й попытки, показано в листинге 8.1.



Эта процедура очень похожа на программы, которые мы до сих пор писали, раз­ница только в том, что после завершающей директивы end нет никакой метки. Такая метка (обычно мы называем ее start) должна быть только в одной глав­ной программе, которую нам еще предстоит создать, а пока попробуем разобрать­ся в процедуре Simpson из листинга 8.1.

Арифметические команды

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

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

Меточные двоичные суммы (системные) вдобавок могут быть 4- и 64-разрядными. Наиболее старший (самый конечный) бит знакового числа интерпретируется как знак данного значения: 0 - положительное число, 1 - отрицательное. Отрицательные суммы строят в стандартном булевом прибавочном коде. Потому что старший бит симптоматичного числа применяется для обозначения метки, диапазон индикации 16-байтных знаковых значений от - 119 до + 118. 64-разрядное целое число преподносится в область распространения от - 19990 до + 19991. NULL описывается позитивным числом. Для симптоматичных значений имеют возможность осуществляться процедуры прибавления, вычета, умножения и дробления.

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


назад далее