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 + -
显示快捷键?