io.c

来自「pyos is a teach operater system build by」· C语言 代码 · 共 19 行

C
19
字号
/* 读端口 */
unsigned char io_read_from_io_port( unsigned short port_number )
{
  /* 
     % 表示此是寄存器
     =a(result) 表示让 result = ax
	   d(port_number) 表示让 dx = port_number 
  */
  unsigned char result ;
  __asm__( "in %%dx , %%al" : "=a"( result ) : "d"( port_number ) ) ;
  return result ;
}

/* 写端口 */
void io_write_to_io_port( unsigned short port_number , unsigned char data )
{
  __asm__( "out %%al , %%dx" : : "a"( data ) , "d"( port_number ) ) ;
}

⌨️ 快捷键说明

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