Рефераты по теме Программное обеспечение

Реферат Операционная система MS-DOS скачать бесплатно

Скачать реферат ↓ [23.95 KB]




Текст реферата Операционная система MS-DOS

Новосибирский Государственный Технический Университет ОПЕРАЦИОННЫЕ СИСТЕМЫ ЧАСТЬ 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;