Лабораторная работа № 1
Изучение интерфейса отладчика AFD.
Режимы адресации памяти.
по специальности 2-40 01 01
«Программное обеспечение информационных технологий»
Витебск
Разработана Иваненко Е.С., преподавателем спецдисциплин.
Рассмотрено и одобрено на заседании цикловой комиссии информатики и программирования.
Протокол № __ от «__ » _____________ 20 __ г.
Председатель ЦК ___________ А.С. Шандриков
Лабораторная работа № 1.
Тема: «Изучение интерфейса отладчика AFD. Режимы адресации памяти»
Цель работы:
- Познакомиться с программой-отладчиком AFD, изучить ее интерфейс, основные приемы работы;
- Получить практические навыки работ с отдельными элементами программной модели МП (регистрами, флажками) с помощью программы-отладчика AFD.
Оборудование:
Методические рекомендации по выполнению работ, ПК, программа-отладчик AFD.
Сведения из теории.
Описание отладчика программ на языке Ассемблера - AFD.
Отладчик AFD позволяет отлаживать программы и фрагменты программ, записанных на языке Ассемблера. В процессе отладки AFD позволяет выполнять фрагменты программ целиком, либо в пошаговом режиме. Просматривать изменения во всех регистрах МП, флажках данных в областях памяти в процессе выполнения команд программы. Вводить информацию во все регистры МП, флажки, области памяти.
Назначение основных командных клавиш программы AFD.
F1 – выполнение программы в пошаговом режиме;
F2 – STEP PROC выполнение процедур программы в пошаговом режиме «как один шаг»;
F4 – HELP вывод информации о всех возможностях и режимах работы программы;
F5 – установка контрольных точек;
F7 – перемещение курсора вверх;
|
F8 – перемещение курсора вниз;
F9 – перемещение курсора влево;
F10 – перемещение курсора вправо.
Основные команды AFD.
D addr (ввод) – вывод дампа памяти (поле 3) с указанного адреса;
А {addr} (ввод) – ассемблирование;
G {addr} (ввод) – всё выполнение программы;
QUIT – выход в DOS;
где addr – адрес области памяти; {} – указаны необязательные параметры.
Вызов программы.
1. Набрать AFD (ввод).
2. На запрос "Press any key to continue" нажать любую клавишу.
3. На экране появится информация следующего вида: (см. рисунок 1.).
В поле 1 – выводится информация основных регистров МП.
Поле 2 – предназначено для ввода команды программы AFD.
Поле 3 – используется для записи мнемонических кодов команд отлаживаемой программы.
Поля 4 и 6 – для изображения информации в ячейках памяти с указанными адресами.
Поле 5 – используется для вывода информации стека и регистра флажков.
Методика выполнения работы.
1. Вызвать программу отладчик. Набрать: C:AFD (ввод).
2. На запрос: "Press any key to continue" нажать любую клавишу. На экране появиться изображение (см. рисунок 1).
3. Переместить курсор в поле 1, использовав клавишу F7.
- в регистр ВХ записать число 0140
- в регистр SI записать число 0140
- в регистр DI записать число 0160
4. Вернуть курсор в поле 4, нажав клавишу F8 дважды. По адресам 0140-0148 и 0160-0168 набрать шестнадцатеричные числа в соответствии с вариантом.
5. Перейти в поле 2, нажав клавишу F7.
Ввести команду: D100 (ввод) (дамп памяти с адреса 100).
6. Ввести команду ассемблирования: А (ввод)
7. Ввести фрагмент программы в соответствии с таблицей 1 (графы 2, 4, 5). В процессе ввода заполнить графу 3 таблицы 1.
|
8. После ввода фрагмента программы выйти из режима ассемблирования, нажав Ctrl + Enter.
9. Набрать D100 (ввод).
10. Выполнить фрагмент программы в пошаговом режиме, многократно нажимая клавишу F2, ввод, и фиксируя на каждом этапе состояние регистров: АХ, СХ, SI, DI, флажков. Результаты занести в таблицу 2.
Таблица 1.
Шаг | Адрес | Код команды | Команда | Операнды | Комментарии |
MOV | CX,0005 | CX:=05 | |||
MOV | AL,[SI] | AL:=[SI] | |||
XLAT | Замена байта | ||||
MOV | [DI],AL | [DI]:=AL | |||
INC | SI | SI:=SI+1 | |||
INC | DI | DI:=DI+1 | |||
010А | DEC | CX | CX:=CX-1 | ||
010В | JNZ | если не 0 – перейти на адрес 0103 | |||
010D | INT3 | остановка |
Таблица 2.
Шаг | Адрес команды | AX | CX | SI | DI | Флажки | |||||||
OF | DF | IF | SF | ZF | AF | PF | CF | ||||||
… | |||||||||||||
По окончании фрагмента записать содержимое ячеек памяти с относительными адресами 0140-0148 и 0160-0168 в таблицу 3.
Таблица 3.
адрес | 165 166 | ||||||||||||||||
число |
Отчет должен содержать:
1. Название и цель работы.
2. Фрагмент программы на языке Ассемблера МП в таблицу 1.
3. Ход работы, вводимые команды по вводу и отладке фрагмента с помощью отладчика AFD.
|
4. Результаты работы в виде таблиц 2 и 3.
5. Вывод о проделанной работе.
Контрольные вопросы.
1. Какие элементы входят в состав программной модели МП?
2. Структура и назначение регистров АХ, ВХ, СХ, DX.
3. Структура и назначение регистра флажков.
4. Перечислите сегментные регистры и укажите их назначение.
5. Укажите назначение регистров SP, BP, SI, DI.
6. Назначение программы-отладчика AFD.
7. Основные команда программы-отладчика AFD.
Литература.
1. Майко Г.В. Ассемблер для IBМ PC.: - М.: «Бизнес-Информ», 1999 г. – с. 68-72
2. Юров В., Хорошенко С. Assembler: учебный курс – СПб: Питер Ком, 1999 г. – с. 45-52