- •Приложение 2. Инструкция по работе с программой Turbo Debugger.
- •П.1.Запуск Turbo Debugger.
- •П.2.Общие принципы работы с td.
- •П.3.Загрузка программы для отладки.
- •П.4.Содержимое окна cpu.
- •П.5.Запуск программы на выполнение.
- •П.6.Трассировка.
- •П.7.Исполнение части программы.
- •П.8.Редактирование содержимого регистров.
- •П.9.Просмотр данных в памяти.
- •П.10.Редактирование данных.
- •П.11.Редактирование программ.
П.7.Исполнение части программы.
Если Вы хотите начать трассировку программы, например, с ее середины, то совсем не обязательно выполнять ее по шагам, последовательными нажатиями [F7] или [F8], до этого места. Достаточно просто установить курсор на ту строку, с которой необходимо начать трассировку, и нажать [F4]. Программа запустится на выполнение и выполнится до той команды, на которой был установлен курсор. Далее можно выполнять обычную трассировку. Клавиша [F4] может быть полезна также во многих других ситуациях. Например, когда Вам в процессе трассировки необходимо запустить некоторый блок программы, не трассируя его, установите курсор на последнюю инструкцию этого блока и нажмите [F4]. Программа будет выполняться от последней выполненной команды до команды, на которую установлен курсор, а затем TD снова вернется в режим трассировки.
П.8.Редактирование содержимого регистров.
В процессе трассировки Вы можете не только просматривать, но и изменять содержимое регистров микропроцессора. Внесенные Вами изменения будут действительны только в течение одного прогона программы. Для того, чтобы ввести значение в некоторый регистр, выполните следующие шаги:

рис.8. Курсор указывает на регистр AX,выделенный для изменения его содержимого.
-
Находясь в левой верхней части, окна CPU нажмите клавишу [TAB] Курсор переместится вправо, в ту часть окна, где находится содержимое регистров.
-
Используя клавиши курсора вверх/вниз, выберите тот регистр, содержимое которого вы хотите изменить.
-
Нажмите [Ctrl+C] или [ПРОБЕЛ]. На экране появится окно ввода значения в регистр.

рис.9. Окно ввода значения в регистр.
-
В верхней строке появившегося окна введите новое значение. Не забывайте о правилах записи числовых констант в Ассемблере: h-числа должны заканчиваться символом "h" и, если они начинаются с буквы (A,B...), в первом разряде числа должен стоять 0. После ввода числа нажмите [ENTER].
Если вы изменяете содержимое регистров уже не в первый раз, то во второй, третьей и последующих строках окна ввода будут находиться предыдущие введенные Вами значения. Вместо того, чтобы вводить старое значение заново, можно, используя клавиши курсора, выбрать одно из них и нажать [ENTER]. Регистру присвоится новое значение - это будет отображено на экране. Если Вы введете число неправильно, то появится окно "Symbol not found", сообщающее Вам о допущенной ошибке. Нажмите [ENTER], чтобы оно исчезло и повторите все, начиная с пункта 2.
-
После ввода всех необходимых значений в регистры нажмите [Shift+TAB] для возврата назад к тексту программы.
П.9.Просмотр данных в памяти.
Для просмотра областей данных в окне CPU выделена нижняя левая его часть. Она содержит строки вида:

рис.10. Перемещение курсора в подокно данных.
АДРЕС: XX XX XX ... XX AAAA..AAA
Где: XX - шестнадцатеричное значение ячейки памяти;
A - ASCII-представление содержимого соответствующей ячейки.
В качестве адреса указываются пары СЕГМЕНТ: СМЕЩЕНИЕ; вместо числа СЕГМЕНТ может выступать любой из сегментных регистров. Сразу после загрузки TD в этом подокне отображаются данные, начиная с адреса DS:0000.
Для того, чтобы переместить курсор в подокно данных, нажмите [Shift+TAB]. При помощи клавиш курсора можно перемещаться внутри этого окна, просматривая различные области памяти. Кроме того, для изменения адреса начала просматриваемой области памяти, можно выполнить следующие шаги:
-
Находясь в подокне просмотра данных, нажмите [Ctrl+G]. В нижней части экрана появится окно "Enter adress to position:".
-
В первой строке этого окна введите адрес начала области ОЗУ, дамп которой Вы хотите просмотреть. В качестве адреса может выступать смещение, например "100h", или пара СЕГМЕНТ: СМЕЩЕНИЕ, например "FFF0h:0000h" или "DS:100h" (в последнем случае подлежащая просмотру область памяти будет начинаться со смещения 100h в текущем сегменте данных). Нажмите [ENTER]. Как и в окне ввода содержимого регистров, здесь также можно выбрать любое введенное Вами ранее значение адреса вместо того, чтобы вводить его заново.
-
После нажатия [ENTER] окно исчезнет и, если адрес был введен правильно, в подокне просмотра данных будет отображаться дамп памяти, начиная с введенного Вами адреса. В противном случае появится окно "Symbol not found" - Вы допустили ошибку и Вам придется повторить все снова.

рис.11.Окно для изменения адреса начала просматриваемой области памяти.
