cpu.h.svn-base

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

SVN-BASE
74
字号
/*****************************************************************************//* Betriebssysteme                                                           *//*---------------------------------------------------------------------------*//*                                                                           *//*                                   C P U                                   *//*                                                                           *//*---------------------------------------------------------------------------*//* Implementierung einer Abstraktion fuer den Prozessor.                     *//* Derzeit wird nur angeboten, Interrupts zuzulassen, zu verbieten oder den  *//* Prozessor anzuhalten.                                                     *//*****************************************************************************/#ifndef __CPU_include__#define __CPU_include__// Die folgenden drei Funktionen werden in cpu.asm implementiert.extern "C" void int_enable ();extern "C" void int_disable ();extern "C" void cpu_idle ();extern "C" void cpu_halt ();class CPU {public:    inline CPU()        : int_status(0)    {    	disable_int ();    }    // Erlauben von (Hardware-)Interrupts    inline void enable_int ()     {       if(int_status > 0)         --int_status;       if(int_status == 0)       	 int_enable();     }    // Interrupts werden ignoriert/verboten    inline void disable_int ()     {       	int_disable();       	++int_status;     }    inline void idle()     {       cpu_idle();     }    // Prozessor anhalten    inline void halt ()      {	cpu_halt ();      }    inline bool allow_int()      {        return int_status==0;      }    inline void reset()      {        int_status=0;       	int_enable();      }//private:     int int_status; };#endif

⌨️ 快捷键说明

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