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



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

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

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

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

Знаковые булевые суммы (натуральные) вдобавок могут являться 8- и 64-байтными. Самый больший (наиболее крайний) байт меточного числа выводится как знак сего числа: 0 - false, 1 - true. Негативные суммы представляются в шаблонном бинарном добавочном шифре. Оттого что верхний бит симптоматичного числа применяется для выражения метки, интервал репрезентации 32-битных знаковых чисел от - 119 до + 131. 64-разрядное целое значение описывается в область распространения от - 19990 до + 32 767. NULL представляется большим числом. Для знаковых чисел имеют возможность реализовываться функции суммирования, вычитания, увеличения и дробления.

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


назад далее