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



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

Команды ПЗУ

Числовые операции имеют возможность обрабатывать два вида сумм - беззнаковые двоичные, меточныедвоичные, беззнаковые упакованные действительные и беззнаковые распакованные десятичные . Дискретные тысячи имеют возможность быть 4- и 16-битными. Десятичные уложенные числа заключают в байте две ступени, распакованные - 1.

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

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

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


назад далее