
- •Использование системных программ debug и turbo debugger для работы с машинными командами, командами ассемблера и для просмотра памяти
- •Задание к лабораторной работе
- •Справочная информация
- •1. Системная программа-отладчик debug
- •2. Системная программа-отладчик Turbo Debugger (td.Exe)
- •3. Данные для перевода чисел в используемые системы счисления:
ОПЕРАЦИОННЫЕ СИСТЕМЫ
ЛАБОРАТОРНАЯ РАБОТА N 1
Использование системных программ debug и turbo debugger для работы с машинными командами, командами ассемблера и для просмотра памяти
_________________________________________________________________________________
Задание к лабораторной работе
1. Ознакомиться с теоретической информацией, приведенной в данной лабораторной работе.
2. С помощью программы DEBUG просмотреть системные ресурсы ЭВМ.
Некоторая информация о системных ресурсах ЭВМ хранится непосредственно в памяти:
-
Адрес ячейки
Содержимое
0040:0013
FF00:0000
FFFF:0005
FFFF:000E
Объем памяти в Кб
Серийный номер компьютера
Дата записи ROM BIOS
Тип компьютера
Для просмотра этой информации необходимо:
запустить программу-отладчик DEBUG;
с помощью команды D отладчика DEBUG просмотреть дамп памяти, начиная с интересующего Вас адреса; первые два байта появившегося на экране дампа памяти содержат необходимую информацию в обратном шестнадцатеричном представлении;
после просмотра содержимого всех интересующих ячеек памяти выйти из отладчика DEBUG.
3. Вывести символ "*" на экран.
Для выполнения задания необходимо использовать следующие команды:
MOV AH,<шестнадцатеричное число> – запись в регистр AH числа 02 для указания системной функции - вывод символа на экран;
MOV DL,<шестнадцатеричное число> - запись в регистр DL кода символа;
INT 21 - основное прерывание DOS (процедура), реализующее различные функции файловой системы; номер функции записывается предварительно в регистр AH; для распечатки символа на экране в регистре AH указана функция 02, при этом в DL записан код выводимого на экран символа.
INT 20 - прерывание DOS, осуществляющее выход из .COM-программы).
Пример.
mov AH, 02 ; системная функция 02 - вывод символа на экран
mov DL, 2A ; ASCII-код звездочки
int 21h ; прерывание для вывода "*"
int 20h ; выход из программы
4. Введите в оперативную память в сегмент кода (смещение 100) набор команд ассемблера для распечатки символа на экране – первой буквы вашей фамилии. Проверьте программу в DEBUG. Затем запишите ее на диск в виде .COM-файла. Чему равен размер программы? Запустите ее на выполнение из DOS.
Для записи программы на диск, необходимо:
задать имя программы – n first.com,
записать 0 в регистр BX, а размер программы (в байтах) - в регистр CX: r bx 'Enter' 0
r cx 'Enter' 8
записать программу на диск с помощью команды W. После выполнения команды "W" на диске в текущей директории появится файл с расширением .COM - точная копия введенной в оперативную память программы. Эту программу можно запустить непосредственно из DOS.
5. Просмотрите содержимое регистров микропроцессора до начала выполнения задания 4 и после его завершения. Какую функцию выполняет каждый из регистров?
6. С помощью программы DEBUG ввести следующую ассемблерную программу и сохранить ее на диске под именем PROG1.COM:
-
Команда
Назначение
mov AX,0125
mov BX,AX
mov [0004],AX
add AX,0025
add AX,BX
add AX,[0004]
sub AX,AX
sub bx,0010
retf
Переслать значение 0125Н в регистр АХ
Переслать значение АХ в регистр ВХ
Переслать содержимое регистра АХ в слово, расположенное в сегменте данных со смещением 0004
Прибавить значение 0025Н к содержимому регистра АХ
Прибавить содержимое регистра ВХ к содержимому АХ
Прибавить содержимое слова (двух байт), расположенного в сегменте данных со смещением 0004, к содержимому регистра АХ
Вычесть содержимое регистра АХ из содержимого регистра АХ
(обнуление регистра АХ)
Вычесть значение 0010 из ВХ
Возврат в DOS
7. В файле lab1.com находится выполняемая программа, в которой содержатся команды, приведенные в расположенной выше таблице. С помощью программы-отладчика DEBUG выполнить трассировку данной программы, просмотреть машинные коды и ассемблерные команды, соответствующие введенной программе.
8. Самостоятельно освоить использование отладчика TURBO DEBUGGER для выполнения программы в режиме трассировки и для просмотра дампа памяти. Выполнить действия, указанные в пункте 7 средствами отладчика TURBO DEBUGGER.
_________________________________________________________________________________