linux-011之io.h头文件

/硬件端口字节输出函数*
*参数:value-要输出的字节,port-端口
*/
#define outb(value,port)   \
__asm__("outb %%al,%%dx"::"a"(value),"d"(port));

/*硬件端口输入函数
*参数:port-端口。返回读取的字节
*/
#define intb(port)                                          \ 
(							    \ 
{							    \ 
	unsigned char _v;				    \ 
	_asm_ volatile("inb %%dx,%%al":"=a"(_v):"d"(port)); \ 
	_v;						    \ 
}\
)

/*带延迟的硬件端口字节输出函数
 *参数:value-要输出的字节,port-端口
*/
#define outb_p(value,port)     \	
__asm__("outb %%al,%%dx\n"     \	
	"\tjmp 1f\n"	       \	
	"1:\tjmp 1f\n"	       \	
	"1:"		       \	
	:		       \	
	:"a"(value),"d"(port)  \	
	);		       	

/*带延迟的硬件端口字节输入函数
*参数:port-端口。返回读取字节
*/
#define inb_p(port)                          \ 
({					     \ 
	unsigned char _v;		     \ 
	__asm__ volatile("inb %%dx,%%al\n"   \ 
			 "\tjmp 1f\n"	     \ 
			 "1:\t jmp 1f\n"     \ 
			 "1:"		     \ 
			 :"=a"(_v)	     \ 
			 :"d"(port)	     \ 
		);\
	_v;\
})



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值