- •Тема Основи програмування на мові асемблер та знайомство з програмним забезпеченням (відладчиками)
- •Теоретичні відомості
- •1.1 Особливості архітектури мікропроцесора типу Intel 80х86
- •Головні регістри мп Intel 8086 та їх призначення
- •1.2 Організація обчислень та узагальнена архітектура комп’ютера ibm pc
- •1.3 Основи програмування на мові асемблер та її синтаксис. Позначки, коди команд, операнди та директиви
- •1.4. Перетворення програми з тексту на мові асемблера у виконуваний модуль
- •1.5. Основи роботи з програмою afd
- •1.6. Основи роботи з програмою td
- •2. Порядок виконання роботи
- •4. Контрольні питання:
- •Сегментація програми. Сегменти коду, даних та стеку. Їх розташування в пам’яті еом. Директиви мови асемблера segment та ends.
1.6. Основи роботи з програмою 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 наведена структура вікна. Порядок розташування вікон може бути зміняний за допомогою опцій меню Window або функціональних клавіш, зазначених у таблиці 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 |
Знову відкрити вікно, яке щойно було закрите |
Для аналізу точок припинень зручно користатись пунктом меню Breakpoints, головні опції якого зазначені у таблиці 9.
Для видалення окремих точок припинень програми треба послідовно виконати такі дії:
1. Звернутися до опції Breakpoints пункту меню View.
2. Коли всі точки припинень будуть висвітлені у окремому вікні, вибрати точку, яку треба видалити, за допомогою клавіш переміщення курсора та .
3. Натиснути клавішу Delete.
4. Повернутися до активного вікна через опцію меню Window або за допомогою миши.
Взагалі функції меню View дозволяють проглянути у повноекранному режимі будь-яку з панелей активного вікна (регістри процесора, сегментні регістри), а також шістнадцятирічні коди інших виконуємих модулей (опція File), таблицю змінних завантаженої програми (опція Variables), зміст програмного буферу (опція Clipboard) тощо. Програмний буфер може бути завантажений через стандартні функції меню Edit Copy та Paste.
Таблиця 9. Опції пункту меню Breakpoints для системи TD
Опція |
Клавіша |
Що виконує |
Toggle (T) |
F2 |
Зробити точку припинення там, де у даний момент припинено виконання програми. |
At |
Alt+F2 |
Задати чисельну адресу точки припинення у шістнадцятирічній формі у форматі CS:IP. |
Delete All |
- |
Видалити всі точки переривань. |
Iconize/restore |
- |
Використання цієї опції меню приводить до звертання вікна. Повторне її використання знову відкриває вікно. |
Пункт головного меню Data призначений для безпосередньої роботи з даними користувача та з комірками пам’яті та іменами змінних. Він містить функції, зазначені у таблиці 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 |
Перехід до верхнього рядка меню. |
