DOS-extender для компилятора Borland C++
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: бесплатные тесты бесплатно, реферат принципы
| Добавил(а) на сайт: Шаломенцев.
Предыдущая страница реферата | 14 15 16 17 18 19 20 21 22 23 24 | Следующая страница реферата
// Инициализация элементов 7 и 8 таблицы GDT
init_gdt_descriptor(&gdt[7],
MK_LIN_ADDR(_DS, &idt),
(unsigned long)IDT_SIZE-1,
TYPE_DATA_DESCR | SEG_PRESENT_BIT | SEG_WRITABLE);
init_gdt_descriptor(&gdt[8],
MK_LIN_ADDR(_DS, &keyb_task_tss),
(unsigned long)TSS_SIZE-1,
TYPE_TSS_DESCR | SEG_PRESENT_BIT);
// Инициализация TSS для задачи KEYB_TASK
init_tss(&keyb_task_tss, CODE_SELECTOR, DATA_SELECTOR,
keyb_task_stack + sizeof(keyb_task_stack), keyb_task);
// Инициализация элемента 9 таблицы GDT
init_gdt_descriptor(&gdt[9],
MK_LIN_ADDR(_DS, &keyb_tss),
(unsigned long)TSS_SIZE-1,
TYPE_TSS_DESCR | SEG_PRESENT_BIT);
// Инициализация TSS для задачи KEYB обработки ввода с клавиатуры
init_tss(&keyb_tss, CODE_SELECTOR, DATA_SELECTOR,
keyb_stack + sizeof(keyb_stack), Keyb_int);
// Инициализация элемента 10 таблицы GDT
init_gdt_descriptor(&gdt[10],
MK_LIN_ADDR(_DS, &flipflop_tss),
(unsigned long)TSS_SIZE-1,
TYPE_TSS_DESCR | SEG_PRESENT_BIT);
// Инициализация TSS для задачи FLIP_TASK
init_tss(&flipflop_tss, CODE_SELECTOR, DATA_SELECTOR,
flipflop_stack + sizeof(flipflop_stack), flipflop_task);
// Загрузка регистра IDTR
load_idtr(MK_LIN_ADDR(_DS, &idt), IDT_SIZE);
// Вход в защищённый режим
protected_mode(MK_LIN_ADDR(_DS, &gdt), sizeof(gdt),
CODE_SELECTOR, DATA_SELECTOR);
}
4.4 Файл TASKS.C. Содержит функции задач.
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <stdlib.h>
#include <mem.h>
Рекомендуем скачать другие рефераты по теме: реферат основные, диплом купить.
Категории:
Предыдущая страница реферата | 14 15 16 17 18 19 20 21 22 23 24 | Следующая страница реферата