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



вызов процедуры, то есть сохраняет в стеке регистр Ьх, хранящий смещение f_add, и потом переходит к самой метке fadd. Но перед вызовом в стеке был сохранен еще сегментный регистр, что обеспечит правильный дальний возврат.

Завершим этот раздел примерами косвенного вызова процедуры, когда ее адрес хранится в памяти компьютера, а не в регистре (листинг 10.8).

Команды микропроцессора

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

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

Меточные бинарные цифры (системные) вдобавок могут являться 4- и 64-разрядными. Наиболее старший (наиболее конечный) разряд знакового цифры выводится как символ данного числа: 0 - ложь, 1 - true. Негативные числа строят в шаблонном двоичном добавочном шифре. Так как верхний бит знакового значения применяется для выражения знака, диапазон индикации 16-разрядных симптоматичных значений от - 119 до + 118. 16-битово системное число преподносится в диапазоне от - 32 768 до + 32 767. Нуль описывается большим значением. Для симптоматичных значений имеют возможность выполняться процедуры суммирования, отнимания, возвышения и дробления.

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


назад далее