pic.h.svn-base

来自「德国Erlangen大学教学操作系统源码。」· SVN-BASE 代码 · 共 65 行

SVN-BASE
65
字号
/*****************************************************************************//* Betriebssysteme                                                           *//*---------------------------------------------------------------------------*//*                                                                           *//*                                  P I C                                    *//*                                                                           *//*---------------------------------------------------------------------------*//* Programmable Interrupt Controller.                                        *//* Mit Hilfe des PICs koennen Hardware-Unterbrechungen einzeln zugelassen    *//* oder unterdrueckt werden. Auf diese Weise wird also bestimmt, ob die      *//* Unterbrechung eines Geraetes ueberhaupt an den Prozessor weitergegeben    *//* wird. Selbst dann erfolgt eine Aktivierung der Unterbrechungsroutine nur, *//* wenn der Prozessor bereit ist, auf Unterbrechungen zu reagieren. Dies     *//* kann mit Hilfe der Klasse CPU festgelegt werden.                          *//*****************************************************************************/#ifndef __pic_include__#define __pic_include__#include "machine/cpu.h"#include "machine/io_port.h"class PIC{public:	struct int_device	{		enum		{			timer    = 0,			keyboard = 1		};	};	struct PIC_ports	{		enum		{			pic1_h = 0x20,			pic1_l = 0x21,			pic2_h = 0xa0,			pic2_l = 0xa1		};	};		PIC();	PIC(PIC &pic);	~PIC();		void allow (int interrupt_device);	void forbid (int interrupt_device);	void ack();private:	int mask();	void mask(int new_mask);		IO_Port m_pic1_h;	IO_Port m_pic1_l;	IO_Port m_pic2_h;	IO_Port m_pic2_l;};#endif

⌨️ 快捷键说明

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