Реферат: DOS-extender для компилятора Borland C++
// Селекторы, определённые в GDT
#define CODE_SELECTOR 0x08 // сегмент кода
#define DATA_SELECTOR 0x10 // сегмент данных
#define TASK_1_SELECTOR 0x18 // задача TASK_1
#define TASK_2_SELECTOR 0x20 // задача TASK_2
#define MAIN_TASK_SELECTOR 0x28 // главная задача
#define VID_MEM_SELECTOR 0x30 // сегмент видеопамяти
#define IDT_SELECTOR 0x38 // талица IDT
#define KEYBIN_TASK_SELECTOR 0x40 // задача ввода с клавиатуры
#define KEYB_TASK_SELECTOR 0x48 // задача обработки
// клавиатурного прерывания
#define FLIP_TASK_SELECTOR 0x50 // задача FLIP_TASK
// Байт доступа
typedef struct
{
unsigned accessed : 1;
unsigned read_write : 1;
unsigned conf_exp : 1;
unsigned code : 1;
unsigned xsystem : 1;
unsigned dpl : 2;
unsigned present : 1;
} ACCESS;
// Структура дескриптора
typedef struct descriptor
{
word limit; // Предел (размер сегмента в байтах)
word base_lo; // Базовый адрес сегмента (младшее слово)
unsigned char base_hi; // Базовый адрес сегмента (старший байт)