Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornaya_rabota_1_Ispolzovanie_sistemnykh...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
207.36 Кб
Скачать

ОПЕРАЦИОННЫЕ СИСТЕМЫ

ЛАБОРАТОРНАЯ РАБОТА 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.

_________________________________________________________________________________