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



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

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

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

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

Команды АЛУ

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

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

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

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


назад далее