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



Но отладчик исследует «живую», запущенную на выполнение программу. А мож­но, оказывается, многое узнать и о «мертвом» файле с расширением .ехе или .com. Попробуем для примера рассмотреть внутренности самой простой программы в фор­мате .com, чей исходный текст показан в листинге 11.1. Она, как вы помните, зани­мает на диске всего 30 байт, и потому «копаться» в ней будет довольно просто.

Вычислительные команды

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

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

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

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


назад далее