Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Отладка программы




Отладчик DEBUG позволяет управлять процессом исполнения программы. С его помощью можно выводить на экран содержимое всех регистров, содержимое памяти, он имеет функции пошагового выполнения и возможность использования контрольных точек. Рассмотрим действия, которые необходимо выполнить для пошагового исполнения программы под отладчиком DEBUG. Выполним следующую команду (расширение EXE указывать обязательно):

 

DEBUG FIRST.EXE

 

Произойдет запуск отладчика и появится приглашение в виде знака дефиса (-). Некоторые наиболее используемые команды отладчика описаны в табл. 74. В квадратных скобках заключены необязательные параметры команд. Например, для выполнения всей программы от начала до конца под отладчиком нужно набрать команду G, а для выполнения до инструкции MOV AH, 9 – команду G 0011. Здесь адрес 0011h соответствует инструкции MOV AH, 9 и называется контрольной точкой. Для просмотра всех регистров служит команда R, а для записи значения, например, в регистр AX – команда R AX.

 

 

Табл. 74. Общеупотребительные команды отладчика DEBUG.

Команда Действие
D адрес D адрес_начала адрес_конца Вывести содержимое ячеек памяти.
E адрес значение 1 [значение 2…] Изменить содержимое ячеек памяти.
F адрес_начала L значение байта Заполнить область памяти заданным значением.
G [смещение 1] [смещение 2…] Исполнить программу. Смещения определяют контрольные точки. Если они заданы, процессор остановиться перед выполнением команды в очередной контрольной точке и выведет содержимое регистров.
Q Выйти из отладчика в MS-DOS.
R [имя_регистра] Вывести содержимое одного или всех регистров. Если указан только один регистр, можно изменить его содержимое.
T [число_команд] Исполнить заданное число команд и вывести содержимое регистров на каждом шаге. Если параметр не задан, будет происходить пошаговое выполнение команд.
U [адрес] Транслировать содержимое ячейки памяти в команду.

 

 

Команда T инициирует выполнение одной или нескольких машинных инструкций. После ее выполнения отображается содержимое всех регистров, включая состояния флагов регистра флагов. Значения двухбуквенных мнемокодов регистра флагов приведены в табл. 75.

 

 

Табл. 75. Мнемокоды регистра флагов.

Название флага Установлен Сброшен
Переполнение OV NV
Направление DN UP
Прерывание EI DI
Знак NG PL
Нуль ZR NZ
Вспомогательный перенос AC NA
Четность PE PO
Перенос CY NC

 

 

На рис. 27 изображен типичный сеанс работы программы под отладчиком. Показана последовательность действий по проверке алгоритма работы команды смещения SHL. В данный момент регистр CL загружен числом 0Ah и выполнена команда SHL. В результате в регистр AX помещено значение 0400h.

Следующая команда пересылки передает это число в сегмент данных по смещению 0001. Команда отладчика d ds:0 позволяет просмотреть сегмент данных, начиная с нулевого адреса. Видно, что по нулевому адресу в сегменте данных находится число 01, а в следующих двух байтах 00 и 04 (т.е. в обратном порядке число 400h = 1024). Как видно, этот участок программы работает правильно. Для выхода из отладчика необходимо набрать команду q.

 

 

Рис. 27. Сеанс исполнения программы FIRST.EXE с помощью отладчика DEBUG.

 

Таков процесс разработки программы на языке ассемблера. Последовательность выполненных нами действий показана на рис. 28. Все они справедливы для разработки и отладки программ любого уровня сложности.

В общем случае объем программы может быть таким, что она не сможет поместиться в отведенный ей сегмент кода. Вспомним, размер программного сегмента не должен превышать 64 КБ. Если размер сегмента кода и данных не превышают это значение, то программа является одномодульной. В противном случае мы имеем многомодульную программу.

 

 


Рис. 28. Трансляция, компоновка и отладка программы FIRST.

Контрольные вопросы

1. Опишите этапы разработки одномодульной программы в среде TASM.

2. Для чего необходим файл листинга и какова его структура.

3. Перечислите основные команды отладчика.




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 467; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.