
- •Тема Основи програмування на мові асемблер та знайомство з програмним забезпеченням (відладчиками)
- •Теоретичні відомості
- •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.5. Основи роботи з програмою afd
Програма AFD дозволяє відлагоджувати програми, які написані на мові асемблеру процесорів Intel 8086 та Intel 80286.
Основні можливості програми AFD:
Занесення до пам’яті ЕОМ виконуємих модулей та їх дізасемблювання (переведення тексту програми із двійкових машинних кодів на мову асемблера).
Виконання всієї занесеної програми або її частини.
Виконання окремих інструкцій програми у покроковому режимі.
Аналіз стану всіх регістрів процесора та комірок пам’яті прямого доступу.
Внесення програмістом змін до всіх реєстрів процесора та комірок пам’яті ЕОМ прямого доступу.
Головне меню відладчика AFD (рис. 3) являє собою систему з шести вікон та командної строки. За допомогою клавіш керування курсором та маркер строки переміщується по вікну програми-дізасемблера, а інші функції виконуються за допомогою функціональних клавіш F1...F10 (таблиця 6) та системи команд (таблиця 7).
Г
оловна
перевага відладчика AFD
-
його відносна простота та зручність
багатовіконного інтерфейсу. Ці переваги
особливо відчутні при відлагодженні
невеликих com-модулей.
Недоліки цієї програми - неможливість
проглядання робочого екрана програми,
що виконується, та неможливість
одночасного проглядання двох або більшої
кількості програм.
Таблиця 6. Призначення функціональних клавіш системи AFD
Клавіша |
Функція програми |
Що виконує |
F1 |
Step |
Виконання однієї інструкції програми, відміченої маркером у вікні дізасемблера. |
F2 |
Step Proc |
Повне виконання одного рядка програми. Наприклад, якщо це є викликання підпрограми, то вона буде виконана одразу повністю як одна інструкція. |
F3 |
Retrieve |
Повторення введених команд командної строки. Можна повторити до шести команд. |
F4 |
Help |
Виклик файлу допомоги. |
F5 |
Set BRK |
Встановлення точок зупинення. |
F6 |
- |
Клавіша незадіяна. |
F7 |
Up |
Перенесення маркера догори. |
F8 |
Dn |
Перенесення маркера донизу. |
F9 |
Le |
Перенесення маркера ліворуч. |
F10 |
Ri |
Перенесення маркера праворуч. |
Таблиця 7. Набір головних команд, які підтримуються відладчиком AFD
Команда |
Призначення |
1. L ім’я файла {адреса} |
Ввести файл до пам’яті ЕОМ. Адреса розміщення може бути вказана явно, але це не обов’язково. По замовченню адреса розташування програми буде CS:0100H. Число прочитаних байтів після завершення програми вказуєтьсся парою реєстрів BX:CX. |
2. W ім’я файла, адреса, довжина |
Записати дані до файлу. Початкова адреса повинна знаходитися у сегменті даних DS. Довжина файлу повинна бути у межах чотирьох шістнадцятирічних цифр. Всі параметри команди є обов’язковими. |
3. D адреса |
Показати коди команд, починаючи з вказаної адреси. Сегмент пам’яті визначається реєстром CS. З цієї ж адреси можна і виконувати програму. |
4. R реєстр = значення |
Занести число до регістра процесора. Наприклад, R А=100H - команда заносить до реєстру А число 100H. Якщо набрати R FL=значення - можна завантажити весь реєстр стану як один шістнадцятирічний реєстр. Але є можливим і окремий доступ до бітів реєстру стану через імена OF, DF, IF, SF, ZF, AF, PF, CF. |
5. Mn – адреса |
Показати перше або друге вікно стану пам’яті (значення параметру n 1 або 2), починаючи з вказаної адреси. |
6. G {стартова адреса}, {адреса зупинки} |
Виконати програму від стартової адреси до адреси зупинки. Якщо не вказана стартова адреса, то виконання програми почнеться з адреси, на який вона була припинена. Якщо не вказана адреса зупинки, то програма буде виконуватись до першої точки припинення або до кінця. Крім того, можна припинити виконання програми через натиснення клавіш Ctrl+Esc. |
7. QUIT {R} |
Повернення до DOS. Опція R робить програму afd резидентною. В цьому випадку її ініциалізація проводиться через натиснення клавіш Ctrl+Esc. |