⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i386_io.h

📁 开放源码的嵌入式开发环境
💻 H
字号:
/*/////////////////////////////////////////////////////////////////////////////// $Header: /usr1/CVS/rtems/c/src/lib/libbsp/i386/shared/comm/i386_io.h,v 1.4 2005/10/17 10:31:17 ralf Exp $//// Copyright (c) 2000 - Rosimildo da Silva.  All Rights Reserved.//// MODULE DESCRIPTION://// IO Functions for the PC platform equivalent to DOS/Linux. They make// eaiser the porting of code from these platforms.////  by: Rosimildo da Silva:  rdasilva@connecttel.com///////////////////////////////////////////////////////////////////////////////*/#ifndef i386_io_h__#define i386_io_h__#define rtems_inb(port)							\({									\        register int _inb_result;					\							\        asm volatile ("xorl %%eax,%%eax; inb %%dx,%%al" :		\            "=a" (_inb_result) : "d" (port));				\        _inb_result;							\})#define rtems_inw(port)							\({									\        register int _inbw_result;					\									\        asm volatile ("xorl %%eax,%%eax; inw %%dx,%%ax" :		\            "=a" (_inbw_result) : "d" (port));				\        _inbw_result;							\})#define rtems_outb(port, data)						\        asm volatile ("outb %%al,%%dx" : : "a" (data), "d" (port))#define rtems_outw(port, data)						\        asm volatile ("outw %%ax,%%dx" : : "a" (data), "d" (port))#define outp(port, val)	rtems_outb(port,val)#define inp(port)	      rtems_inb(port)#define outb(val, port)	rtems_outb(port,val)#define inb(port)	      rtems_inb(port)#define outb_p(val, port)	rtems_outb(port,val)#define inb_p(port)	      rtems_inb(port)#define outportb(port,val)	rtems_outb(port,val)#define inportb(port)	rtems_inb(port)#define outw(val, port)	rtems_outw(port,val)#define inw(port)	      rtems_inw(port)#define cli()   __asm__ __volatile__("cli")#define sti()   __asm__ __volatile__("sti");#endif /* i386_io_h__ */

⌨️ 快捷键说明

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