Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основи роботи з програмою TD

Поиск

Програма TD (turbo-debugger) дозволяє відлагоджувати програми, які написані на мові асемблера мікропроцесорів Intel 8086 - Intel 80486 [8,9]. Ця програма є розробкою фірми «Borland International» та входить до складу пакетів програмування Borland Pascal та Borland C++. Тому інтерфейс програми реалізовано у стандарті Turbo-Vision та відповідає загальному вигляду інтерфейсу цих середовищ, що значно спрощує його вивчення.

Основні можливості програми TD:

1. Занесення до пам’яті ЕОМ виконуємого модуля та його дізасемблювання.

2. Виконання всієї занесеної програми або її частини. Кількість точок перевивань необмежена.

3. Виконання окремих інструкцій програми у покроковому режимі.

4. Аналіз стану всіх реєстрів процесора та комірок пам’яті, до яких є прямий доступ.

5. Внесення програмістом змін до всіх регістрів процесора та комірок пам’яті ЕОМ, до яких є прямий доступ.

6. Проведення одночасного огляду даних, що знаходяться у комірках пам’яті ЕОМ з різними адресами (за допомогою опції меню Add Watch або комбінації клавіш Ctrl+F7).

7. Поглядання робочого екрану програми, що виконується, якщо в ній передбачене

виведення даних на монітор (за допомогою опції меню User Screen або комбінації клавіш Alt+F5).

Головні вікна відладчика TD розташовані на його робочій панелі. Їх розмір може бути зміняний за допомогою миши, якщо це необхідно. Кількість вікон необмежена. Кожне вікно, в якому завантажена програма, розбито на 5 робочих областей. На рис.4 наведена структура вікна. Порядок розташування вікон може бути зміняний за допомогою опцій меню W indowабо функціональних клавіш, зазначених у таблиці 8.


 


Таблиця 8. Опції пункту меню Window системи TD

Опція Клавіша Що виконує
Zoom (Z) F5 Збільшує розмір активного вікна до розміру всієї робочої панелі.
Next (N) F6 Перехід до наступного вікна.
Next pane (X) Tab Перехід до іншої панелі у тому ж робочому вікні.
Size/move (S) Ctrl+F5 Зміна розмірів вікна та його переміщення.
Close (C) Alt+F3 Закрити активне вікно
Undo close Alt+F6 Знову відкрити вікно, яке щойно було закрите

Для аналізу точок припинень зручно користатись пунктом меню B reakpoints, головні опції якого зазначені у таблиці 9.

Для видалення окремих точок припинень програми треба послідовно виконати такі дії:

1. Звернутися до опції B reakpoints пункту меню V iew.

2. Коли всі точки припинень будуть висвітлені у окремому вікні, вибрати точку, яку треба видалити, за допомогою клавіш переміщення курсора ­ та ¯.

3. Натиснути клавішу Delete.

4. Повернутися до активного вікна через опцію меню W indow або за допомогою миши.

Взагалі функції меню V iew дозволяють проглянути у повноекранному режимі будь-яку з панелей активного вікна (регістри процесора, сегментні регістри), а також шістнадцятирічні коди інших виконуємих модулей (опція F ile), таблицю змінних завантаженої програми (опція V ariables), зміст програмного буферу (опція C lipboard) тощо. Програмний буфер може бути завантажений через стандартні функції меню E dit C opy та P aste.

Таблиця 9. Опції пункту меню Breakpoints для системи TD

Опція Клавіша Що виконує
Toggle (T) F2 Зробити точку припинення там, де у даний момент припинено виконання програми.
At Alt+F2 Задати чисельну адресу точки припинення у шістнадцятирічній формі у форматі CS:IP.
Delete All - Видалити всі точки переривань.
Iconize/restore - Використання цієї опції меню приводить до звертання вікна. Повторне її використання знову відкриває вікно.

 

Пункт головного меню D ata призначений для безпосередньої роботи з даними користувача та з комірками пам’яті та іменами змінних. Він містить функції, зазначені у таблиці 10. Призначення усіх функціональних клавіш у програмі TD наведене у таблиці 11.

Таблиця 10. Опції пункту меню Data для системи TD

Опція Клавіша Що виконує
Inspect - Поглядання значення заданої змінної або комірки пам’яті
Evalute/modify Ctrl+F4 Обчислення значення виразу
Add Watch Ctrl+F7 Поглядання значень змінних у окремому вікні
Function return - Адреси повернення функцій та процедур

Таблиця 11. Призначення функціональних клавіш у програмі TD

Клавіша Призначення
F1 Допомога.
F2 Зробити точку зупинки там, де у даний момент припинено виконання програми.
F3 Поглядання початкового коду завантаженої програми.
F4 Перехід до рядка, на якому програма була припинена.
F5 Збільшення розміру активного вікна до розміру всієї робочої панелі.
F6 Перехід до наступного вікна.
F7 Покрокове виконання програми. При переході на процедуру буде покроково виконана кожна команда процедури.
F8 Покрокове виконання програми. Команда виклику процедури виконується як одна команда.
F9 Запуск програми на розрахування.
F10 Перехід до верхнього рядка меню.

Порядок виконання роботи

1. Знайти транслятор і файли afd.exe та td.exe.

2. Проаналізувати текст програми lab1.asm, зрозуміти зміст кожної з асемблерних команд. З’ясувати, як будуть змінюватися дані всіх регістрів процесору при виконанні кожної з них. Текст програми повинен мати такий вигляд:


text SEGMENT

ORG 100h

begin: MOV ax,20

MOV bx,30

ADD ax,bx

MOV cx,ax

ADD ch,16

RET

text ENDS

END begin

 

2. Сформувати лістинг, об’єктний та виконуваний код для програми lab1.asm; останній записати у файл lab1.com.

3. Запустити програму lab1.com на обробку. Переконайтеся в тому, що вона коректно виконується (комп’ютер не «підвісає»).

4. Завантажити програму lab1.com до відладчика AFD та крок за кроком виконати всі її команди. Після виконання кожної команди аналізувати стан кожного з регістрів процесора.

5. Завантажити програму lab1.com до відладчика TD та крок за кроком виконати всі її команди. Після виконання кожної команди аналізувати стан кожного з регістрів процесора.

Зміст звіту

1. Послідовність дій, які потрібно виконати для компіляції асемблерної програми. Розглянути два випадка: компіляцію com -програми та компіляцію exe -програми.

2. Таблиця з трьох колонок. До першої занести початковий код асемблерної програми файлу lab1.asm, до другої - її машинні коди, а до третьої - стан усіх регістрів процесору після її виконання.

3. Висновки за роботою.

4. Контрольні питання:

1. Узагальнена структура мікропроцесора Intel 8086 та персонального комп’ютера IBM PC.

2. Що таке початкова та об’єктна програма?

3. Структурна схема гіпотетичного мікропроцесора, призначення всіх його регістрів.

4. Основні регістри процесору типа Intel 8086, їх призначення.

5. Сегментація програми. Сегменти коду, даних та стеку. Їх розташування в пам’яті ЕОМ. Директиви мови асемблера SEGMENT та ENDS.

6. Організація стекової пам’яті та її призначення.

7. Регістр стану процесора. Його призначення. Біти регістра стану у процесорі Intel 8086.

8. Режим трасування програми. Як він встановлюється і для чого використовується?

9. Поясніть приклади позначок та приклади асемблерних команд, які наведені у теоретичній частині цієї роботи. Наведіть свої приклади.

10. Чи потрібно аналізувати регістр стану при виконанні команд програми lab1.asm? Чому?




Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 286; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.248.105 (0.007 с.)