Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб1-2012.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
319.49 Кб
Скачать
  1. Опис основних процедур

До основних функцій AFD користувач може звернутися за допомогою функціональних клавіш та команд у командному рядку

Нижче описуються найбільш вживанні команди AFD. При поданні форматів команд в фігурних дужках вказуються необов’язкові параметри.

    1. Завантаження програми для надагоджування.

Формат команди:

L <file>

Команда використовується для завантаження в пам’ять файлів любого типу. Якщо розширення імені файла не вказано, то по замовчуванню використовується розширення ".EXE".

    1. Визначення початкової адреси дизасемблювання

Формат команди: D адр.

Приклади: D 120

D *

D FS:100

D 123:AX+SI

D IP

Команда 'D' використовується для установки адреси початку дизасембльованої області. Адреса може бути задана як сегмент та зміщення. Для завдання зміщення може бути використано арифметичний вираз. Якщо значення сегмента не вказано, то використовується вміст регістра сегмента коду, відображеного в даний момент. Якщо сегмент вказаний, то це значення буде використано для запису в регістр CS, вміст якого показаний в області регістрів.

    1. Команда g (виконати)

Формат команди: G {поч.адр.}, {адр.зуп.}

Приклад: G

G *

G CS:100

G 123, 1100

G ,345a:1200

Команда G (виконати) використовується для запуску налагоджуємої програми. Необхідно, щоб адресні параметри посилалися на комірки, які містять перші байти доступних машинних команд, в іншому випадку результат виконання команди G не передбачуваний. Початкова адреса 'поч.адр.' може бути вказана як зміщення або як логічна адреса. Якщо значення сегментної частини не вказано, то використовується значення регістра сегмента коду CS, відображеного в даний момент. Адреса зупинки {адр.зуп.}, може бути як логічною адресою так і зміщенням в поточному сегменті кодів. Якщо вона задана в команді, то приводить до закінчення виконання налагоджуємої програми при умові, що вміст регістрів CS:IP зрівняється з заданою адресою.

    1. Формування файлу дизасембльованого коду

Формат команди: PD адр., довжина {,фспец.}

Приклади: PD 0,100,c:\subject\lab2\test0060.prn

PD DS:1103, СХ, А:TST.PRN

З допомогою цієї команди дизасембльований код може бути виведений в заданий файл. Якщо в команді не вказаний сегментна складова в параметрі 'адр.' то використовується вміст регістра CS. Параметр адр. задає початкову адресу пам’яті, а параметр 'довжина' визначає кількість байтів програми, які необхідно дизасемблювати. Параметр 'довжина' задається в шістнадцятирічному форматі.

    1. Використання вбудованого асемблера

Формат команди: А {адреса}

Приклад: A

A 200

A CS:30

За допомогою цієї команди можна вводить (редагувати) програми в вікні дизасембльованого коду. Редагування відбувається лише шляхом заміни, а не вставки. Якщо в команді параметр {адреса} не заданий, то редагування виконується з поточної адреси. Асемблерний текст вводиться з прийнятими при дизасемблюванні особливостями по відношенню до стандартних синтаксичних конструкцій Асемблера. Завершення редагування чергової інструкції відбувається при натисканні клавіші “Enter”. При цьому AFD переходить на наступний рядок. Для закінчення введення (редагування) необхідно одночасне натискання клавіш Ctrl/Enter.