Assembler для начинающих



         

Отладчик DEBUG - часть 7


 
      Теперь попытаемся выполнить эту программу. Ее можно просто
    запустить и посмотреть, что будет происходить. На для этого не
    нужна программа DEBUG. Программа DEBUG позволяет задать точки
    останова, называемые "точками прерывания" программы. Благодаря
    введению в программу таких точек можно возвращать управление
    программе DEBUG. Это дает еще одну возможность проверки состояния
    памяти и регистров для того, чтобы контролировать ход выполнения
    программы.
 
      Команда G, (выполнять) передает управление от программы DEBUG
    пользовательской программе. Выполнение команд начинается с ячейки,
    задаваемой парой регистров CS:IP (так же, как в реальном
    микропроцессоре). Тестируемая программа продолжает выполняться до
    тех пор, пока она не пройдет точку прерывания. В нашем примере мы
    задали точку прерывания по адресу 3CH. Так как мы указали только
    смещение, то для определения сегмента программа DEBUG использует
    содержимое регистра CS. Из листинга, приведенного на Фиг. 5.14,
    видно, что смещение 3CH соответствует команде INT 10H. В
    рассматриваемом примере программы было выбрано именно это место,
    потому что это - та точка, где управление передается подпрограмме
    BIOS, вызываемой из ПЗУ. Проверка программы в этой точке
    гарантирует, что мя установили регистры в нужное состояние перед
    выполнением подпрограммы BIOS.
 
      Как только встречается точка прерывания, управление
    возвращается программе DEBUG. При этом, так же как и в случае
    команды R, на дисплей выводятся содержимое регистров и следующая
    выполняемая команда. Так как управление опять передано программе
    DEBUG, вы можете использовать любую из команд отладки.
 
      Имеются ограничения на использование точек прерывания.
    Фактически точка прерывания реализуется кодом операции 0CCH.
    Соответствующая этому коду команда вызывает прерывание INT 3.
    Данное математическое прерывание возвращает управление программе



Содержание  Назад  Вперед