desc.h

来自「Jazmyn is a 32-bit, protected mode, mult」· C头文件 代码 · 共 66 行

H
66
字号
#ifndef _TABLES_H
#define _TABLES_H

/* constants related to access rights */

#define D_PRESENT       0x80
#define D_DPL_0         0x00
#define D_DPL_1         0x20
#define D_DPL_2         0x40
#define D_DPL_3         0x60
#define D_DT_SYS        0x00
#define D_DT_APP        0x10

/* constants related to code segment */

#define D_CODE          0x08
#define D_CONFIRMING    0x04
#define D_READ          0x02

/* constants related to data segment */

#define D_DATA          0x00
#define D_EXPDOWN       0x04
#define D_WRITE         0x02

#define D_ACCESED       0x01


/* constants related to flags */

#define D_PAGE_GRANULARITY      0x80
#define D_BIG                   0x40

/* constants related to gate descriptor type */

#define D_LDT           0x02
#define D_AVAIL_TSS     0x09
#define D_ACTIVE_TSS    0x0B
#define D_CALL_GATE     0x0C
#define D_INTR_GATE     0x0E
#define D_TRAP_GATE     0x0F
#define D_TASK_GATE     0x05

struct seg_desc
{
        ushort	lim_low;
        ushort	base_low;
        uchar	base_mid;
        uchar	access;
        uchar	lim_flags;
        uchar	base_high;
};

struct gate_desc
{
        ushort	off_low;
        ushort	selector;
        uchar	dword_count;
        uchar	gate_type;
        ushort	off_high;
};


#endif
        

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?