
- •Дагестанкий государтвенный технический университет
- •Махачкала 1997 г.
- •Лабораторная работа №1
- •1.1.Создание выполнимого файла, работа в отладчике, изучение оператора пересылки mov.
- •1.2. Оператор mov.
- •1.3. Основные команды отладчика afd.
- •1.4. Индивидуальные задания.
- •2.1. Сегментация памяти, директивы ассемблера
- •2.2. Прямая адресация
- •2.3. Косвенная адресация
- •2.4. Директива assume
- •2.5. Индивидуальные задания
- •Лабораторная работа №3
- •3.1. Директивы equ, label, команды сложения и вычитания
- •3.1.1. Директивы equ
- •3.1.2. Директива label
- •3.2. Команды сложения и вычитания
- •3.3. Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •3.4. Примечание
- •Лабораторная работа №4
- •4.1. Изучение операторов обмена xchg и xlat
- •. Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •4.3. Приложение
- •Литература
- •Оглавление
- •Хачумов Вячbслав Михайлович Исмаилов Шейх-Магомед Абдулаевич Лагиева Марият Тагировна
1.3. Основные команды отладчика afd.
Отладчик AFD предназначен для решения широкого круга задач, включая следующие:
разработка и отладка собственных программ на языке ассемблера
дизассемблирование COM и EXE файлов,
изучение работы программ и их модификация,
изучение текущего содержимого оперативной памяти и регистров,
и т.д.
Отладчик предоставляет в распоряжение пользователя два экрана основной, в котором осуществляется, все операции и визуализируется основная информация, и альтернативный, переназначенный для отображения результатов работы программы. Основной экран имеет две страницы. Вторая страница предназначена для установки точек прерывания в программе. Переходы с одной страницы на другую осуществляются нажатием функциональной клавиши F5 - Set Break Point, что отражено в меню внизу экрана первой страницы.
Команды отладчика выполняются после нажатия клавиши ENTER.
Перечислим некоторые основные команды отладчика:
А {адрес}- команда ассемблирования. Позволяет редактировать команды программы, вводить программу с клавиатуры. Выход из режима ввода программы осуществляется нажатием клавиш перемещения курсора F8,F7.
G {старт.адр.}{адрес останова}- команда запуска программы. Запускает программу начиная с адреса “ старт.адр ”. Дополнительно может быть установлена точка останова.
QUIT {R{esident}}-команда выхода из отладчика. При выходе из отладчика рабочие файлы не сохраняются.
L <имя файла> - команда загрузки файла с диска.
MO A ON- команда включения альтернативного экрана для отображения данных во время выполнения операции. После установки ON связь между основным и альтернативными экранами (переключение) осуществляется с помощью клавиши F6.
Назначение функциональных клавиш:
F1-пошаговое выполнение программы со входом в процедуру:
F2- пошаговое выполнение программы без входа в процедуру:
F3- повторный запуск программы:
F4- HELP команда отладчика:
F5- вход в поле меню установки точки прерывания:
F6- переключение основного и альтернативного экранов (инициализируется после соответствующей установки): F7, F8, F9, F10- установка курсора в нужное поле экрана.
1.4. Индивидуальные задания.
1.В директории ASM (TASM) создать exe-файл SL1.EXE, используя готовый исходный текст программы из файла SL1. ASM. Для подготовки exe-файла необходимо запустить программы TASM – транслятор и TLINK- компоновщик (редактор связи). Создав exe-файл, запустите его на выполнение.
2. Запустить отладчик AFD.COM.
Ознакомится с командами отладчика (см. HELP, вызываемый по F4).
В отладчике AFD загрузить программу SL1 и выполнить ее. Результат выполнения программы посмотреть в альтернативном окне. Альтернативное окно вызывается по F6, если оно было установлено предварительно по команде <MO A ON>.
Заново загрузить программу и начать ее выполнение в пошаговом режиме до первой команды INT <n> . Наблюдать изменения в регистрах процессора.
Установить точку останова (break point) после первого оператора INT <n>. Продолжить выполнение программы до точки останова. Результат выполнения программы наблюдать в альтернативном окне.
Установить в программе SL1 точки останова после каждого оператора INT <n> и выполнить программу, наблюдая и комментируя результаты работы программы в альтернативном окне.
Записать команды и выполнить их в отладчике в пошаговом режиме:
а) Занести в регистры число:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
CX F45h AH124 BL -17 |
SI A87h BL 77 BH -126 |
DI 3A72h AH 87h DL -87 |
BP6ACDh BL 192 CH -103 |
DX7734h CL 184 AH -111 |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
AXF4F5h CL 202 BH -95 |
CX E5F1h DL A7h AL -57 |
BX EA7h DH 137 AL -73 |
SI DDE2h BH171 CL-119 |
DX A3F9h BL 7Ah CH -133 |
б) Переслать содержимое одного регистра в другой:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
CX DX |
CX SI |
BX DI |
DX BP |
BX DX |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
DX CX |
SI AX |
DX DI |
CX BP |
DI SI |
в) Переслать содержимое ячейке памяти с указанным адресом в регистр AL:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
0025 |
00E6 |
0036 |
0024 |
00CE |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
0027 |
0051 |
0079 |
0017 |
003A |
По указанному выше адресу записать слово:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
3381 |
79F1 |
0036 |
0024 |
00CE |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
0027 |
0051 |
0079 |
0017 |
003A |
г) Переслать в регистр BX содержимое ячейке памяти с указанным адресом.
д) Переслать в память слово, адресуемое указанным в скобках регистром:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
12E4(BX) |
3AF6(DI) |
AE37(SI) |
E058(BP) |
FA65(SI) |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
33AD(SI) |
D78(BX) |
67A3(DI) |
8CFE(SI) |
C6D(BX) |
е) Инициализировать сегментные регистры:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
DS 1C01 |
ES AA12 |
SSF12C |
DSE3A4 |
SSCDFE |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
DS7A31 |
ESCC33 |
ESAC53 |
SSFF55 |
DS34E7 |
Лабораторная работа № 2.