platform.h

来自「很好的一个微型操作系统源码」· C头文件 代码 · 共 68 行

H
68
字号
#ifndef PLATFORM_H_INCLUDED
#define PLATFORM_H_INCLUDED

#include "types.h"

typedef struct _IDT
{
	unsigned short offsetlow;
	unsigned short selector;
	unsigned char zero;
	unsigned char attrib;
	unsigned short offsethigh;
}IDT;

extern uint32 _ISREXP[24];
extern uint32 _ISRINT[16];
extern uint32 *_ISRVECT;
extern IDT IDT_DATA[64];
extern char GDT_DATA[24];

void dummyIsr();
void _loadidtgdt();
uint8 _in(uint32 addr);
void _out(uint32 addr, uint32 value);
void _switch(uint32** newsp, uint32** oldsp);

_inline void _sti()
{
	_asm sti;
}

_inline void _cli()
{
	_asm cli;
}

_inline void _hlt()
{
	_asm hlt;
}

_inline void _int17()
{
	_asm int 17;
}

/*
	hardware interrupt from 32 to 47
	32:Clock
	33:Keyboard
	34:empty
	35:com2
	36:com1
	37:lpt1
	38:flopy disk
	39:lpt2
	40:realtime clock
	41:
	42:
	43:
	44:ps2 mouse
	45:8087
	46:hard disk
	47:
*/

#endif

⌨️ 快捷键说明

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