io_port.h.svn-base

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

SVN-BASE
63
字号
/* $Id: io_port.h,v 1.2 2002/10/15 12:26:56 gal Exp $ */#ifndef __io_port_include__#define __io_port_include__/*****************************************************************************//* Betriebssysteme                                                           *//*---------------------------------------------------------------------------*//*                                                                           *//*                              I O _ P O R T                                *//*                                                                           *//*---------------------------------------------------------------------------*//* Diese Klasse dient dem Zugriff auf die Ein-/Ausgabe Ports des PCs. Beim   *//* PC gibt es einen gesonderten I/O-Adressraum, der nur mittels der Maschi-  *//* neninstruktionen 'in' und 'out' angesprochen werden kann. Ein IO_Port-    *//* Objekt wird beim Erstellen an eine Adresse des I/O-Adressraums gebunden   *//* und kann dann fuer byte- oder wortweise Ein- oder Ausgaben verwendet wer- *//* den.                                                                      *//*****************************************************************************//* BENUTZTE FUNKTIONEN */extern "C" void outb  (int port, int value);extern "C" void outw (int port, int value);extern "C" int inb   (int port);extern "C" int inw  (int port);/* KLASSENDEFINITION */class IO_Port {      // Adresse im I/O-Adressraum      int address;   public:      IO_Port (int a) : address (a) {};      // OUTB: Byteweise Ausgabe eines Wertes ueber einen I/O-Port.      void outb (int val) const       { 	 ::outb (address, val);        };      // OUTW: Wortweise Ausgabe eines Wertes ueber einen I/O-Port.      void outw (int val) const       { 	 ::outw (address, val);        };      // INB: Byteweises Einlesen eines Wertes ueber einen I/O-Port.      int inb () const       { 	 return ::inb (address);        };      // INW: Wortweises Einlesen eines Wertes ueber einen I/O-Port.      int inw () const       { 	 return ::inw (address);        }; };#endif

⌨️ 快捷键说明

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