- 1
- 2
- 3
- . . .
- последняя »
Новосибирский Государственный Технический Университет ОПЕРАЦИОННЫЕ СИСТЕМЫ
ЧАСТЬ 1. ОПЕРАЦИОННАЯ СИСТЕМА MS-DOS Методические указания
к лабораторным работам для студентов 2 и 3 курса
Факультета АВТФ (специальность 2202)
дневного и заочного отделения Новосибирск
1997 Составили: к.т.н., доц. В.Г. Качальский
ст.преп. Е.Н. Павенко Рецензенты: к.т.н., доц. В.А. Астапчук Работа подготовлена кафедрой автоматизированных систем управления Способы обращения к ОС MS-DOS
Программы, составленные на языке С, обращаются к прерываниям MS-DOS с помощью таких функций как intdos, int86, intdosx и т.д.
Для передачи параметров используются структуры REGS, WORDREGS, BYTEREGS, SREGS, описанные в файле dos.h. Программа записывает параметры в поля структуры, соответствующие регистрам процессора, а затем вызывает одну из перечисленных выше функций, передавая ей адрес структуры. После выполнения прерывания результат записывается в эту же или другую структуру. Например:
union REGS inregs, outregs;
struct SREGS segregs;
......
inregs.h.ah. = 0x3a;
segregs.ds = FP_SEG(dir_name);
inregs.x.dx = FP_OFF(dir_name);
intdosx(&inregs, &outregs, &segregs);
.....
В этом фрагменте кода вызывается функция 3Ah прерывания INT 21h, для чего используется функция intdosx, которая входит в стандартную библиотеку системы разработки С++. Номер функции записывается в поле h.ah объединения inregs, параметры функции (передаваемые через регистры DS:DX) - соответственно поле ds структуры segregs и в поле x.dx объединения inregs. Функция intdosx записывает содержимое регистров процессора поле выполнения программного прерывания в объединение outregs.
Объединение REGS определено в файле dos.h следующим образом:
UNION REGS
{
struct WORDREGS x;
struct BYTEREGS h;
};
В нем имеется две структуры - WORDREGS и BYTEREGS.
Первая из этих структур предназначена для работы с 16-зфззядными регистрами. Она определена так:
struct WORDREGS
{
unsigned int ax, bx, cx, dx, si. di, cflag, flags;
};
В этой структуре поля ax, bx, cx, dx, si, di соответствуют одноименным регистрам центрального процессора. Значение флага переноса записывается в переменную cflag, поле flags предназначено для остальных флагов процессора.
С помощью структуры BYTEREGS можно задавать и определять содержимое 8-разрядных регистров процессора:
struct BYTEREGS
{
unsigned char al, ah, bl, bh, cl, ch, dl, dh;
};
Для работы с сегментными регистрами предназначена структура SREGS, определенная следующим образом:
struct SREGS
{
unsigned int es;
unsigned int cs;
unsigned int ss,
unsigned int ds;
};
Для использования перечисленных выше структур программа должна одержать следующую строку:
#include
Поле вызова программного прерывания программа должна проверить флаг переноса, который сохраняется в поле cflag. Проверка поля cflag может быть выполнена, например, следующим образом:
union REGS inregs, outregs;
.....
intdos(&inregs,&outregs);
if(outregs.x.cflags != 0) error();
......
Код ошибки при этом записывается в переменную outregs.x.ax.
Лабораторная работа № 1
Исследование логической структуры диска в MS-DOS Цель работы
Изучение логической структуры диска ОС MS-DOS
Общие положения
Диски ОС MS-DOS организованы по довольно жесткой схеме. Каждый диск включает в себя помимо области файлов еще несколько управляющих областей фиксированного размера. Первый сектор логического диска (сектор 1, дорожка 0, головка 0) содержит загрузочную запись -
- 1
- 2
- 3
- . . .
- последняя »
Похожие работы
Тема: Операционная система |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат) |
Тема: Операционная система. |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат) |
Тема: Операционная система |
Предмет/Тип: Отсутствует (Контрольная работа) |
Тема: Making Utilities For MSDOS Essay Research Paper |
Предмет/Тип: Английский (Реферат) |
Тема: Операционная система Unix |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Курсовая работа (п)) |
Интересная статья: Основы написания курсовой работы