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



         

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


    DEBUG. Если какая-то команда возвращает управление отладчику, то
    точка прерывания должна находиться в начале этой команды. Если же
    точка прерывания выбрана где-то в другом месте, то управление не
    будет возвращено отладчику и будет выполняться не та команда
    программы, которая предполагалась. Например, если бы было задано
    "=G 3D", то по адресу 3CH была бы команда INT 0CCH, и дальнейшее
    выполнение программы предсказать трудно.
 
      Если точка прерывания выбрана осмотрительно, то никаких
    осложнений не будет. Командв "G" позволяет задать до десяти точек
    прерывания. После прохождения любой из них происходит
    восстановление исходных значений точек прерывания. Выполнение
    команды отладки "G" без указания точек прерывания никогда не выйдет
    ни на какую из ранее заданных точек прерывания, потому что все они
    были удалены. Если вы запустили программу, и произошел ее останов и
    она зациклилась, то возможно, что вернуть управление, которое
    передано программе, удастся только с помощью клавиши системного
    сброса Ctrl=Alt=Del, т.е. вам придется начать все с начала.
    Запуская незнакомую программу, следует быть осторожным.
 
      Если вы захотите ввести пермаментную точку прерывания,
    воспользуйтесь командой E для изменения значения первого байта
    команды на значение 0CCH. Эта точка прерывания будет там постоянно
    или, по крайней мере, до тех пор, пока вы ее не измените. Возможно
    вы захотите использовать это прерывание в точке входа в
    подпрограмму обработки ошибки и проанализируете возникающие ошибки
    более тщательно, чем при передаче их обработки программе.
 
      Существует еще одно обстоятельство, связанное с точками
    прерывания, о котором следует помнить. Если вы попытаетесь задать
    точку прерывания в области, относящейся к ПЗУ, то ничего не
    получится. Так как вы не можете менять содержимое ПЗУ, то команда
    0CCH никогда туда не запишется.



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