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



Самые важные клавиши, используемые при отладке программы, — F2 и F1. Пер­вая выполняет программу по шагам, причем вызов и возврат из процедуры счи­тается одним шагом. Клавиша F1 похожа на F2, но с ее помощью можно попасть внутрь процедуры и посмотреть, как выполняется каждая ее инструкция.

Регистры процессора и компьютерную память AfdPro показывает в нескольких окнах. Вверху видны регистры и флаги, внизу — память (шестнадцатеричные коды и соответствующие им символы). В окне справа показана та же память, но без символьного представления.

«Забираться» в различные окна отладчика позволяют клавиши F7, F8 (движение вверх-вниз) и F9, F10 (вправо-влево). Попав в окно, позволяющее увидеть па­мять компьютера, можно изменить не только сегментный регистр, но и любой байт. Естественно, память можно просматривать в любом направлении с помо­щью клавиш it.

Результат работы программы можно увидеть, переключаясь между окном отлад­чика и экраном компьютера с помощью клавиши F6. Но прежде необходимо на­брать в окне отладчика команду mo a on (см. рис. 9.1) и нажать Enter. В отладчике AfdPro очень много возможностей, полное описание которых потре­бовало бы целой книги — никак не меньше той, что вы держите сейчас в руках. Но AfdPro понятен и так, а большая часть его команд описана в файле помощи, вызываемом клавишей F4.

Команды ПЗУ

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

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

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

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


назад далее