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



Программа, показанная в листинге 10.1, — одна из самых глупых в этой книге. Чтобы сложить два числа, незачем тащиться в чужой сегмент. Но она служит хорошим пособием по дальним переходам, а большего нам и не надо.

Подумаем, например, над тем, всегда ли нужно указывать ассемблеру, что пред­стоит дальний переход. Очевидно, строка:

jmp far ptr exit

необходима, потому что ассемблер, встретив ее, еще не знает, что метка exit на­ходится в другом сегменте

Микропроцессорное программирование

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

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

Знаковые булевые числа (целые) тоже могут быть 4- и 64-байтными. Наиболее старший (самый крайний) байт симптоматичного цифры выводится как символ данного числа: 0 - ложь, 1 - истина. Неблагоприятные цифры строят в шаблонном двоичном дополнительном коде. Потому что верхний байт знакового числа используется для выражения метки, интервал репрезентации 32-разрядных знаковых значений от - 128 до + 118. 64-битово целое значение представляется в область распространения от - 24780 до + 24779. Нуль значится позитивным значением. Для знаковых значений имеют возможность выполняться процедуры суммирования, отнимания, увеличения и деления.

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


назад далее