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

📄 io.h

📁 从网上下载的一个自己编写的简单的操作系统源代码,对底层了解很有好处的
💻 H
字号:
/*
 *  Exp
 *
 *
 *
 *
 */
#ifndef _I386_IO_H_
#define _I386_IO_H_






/*
 *  io
 */
#define outb(port,value) \
__asm__ volatile ("outb %%al,%%dx"::"a" (value),"d" (port))


#define inb(port) ({ \
unsigned char _v; \
__asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \
_v; \
})

#define inw(port) ({ \
ushort _v; \
__asm__ volatile ("inb %%dx,%%ax":"=a" (_v):"d" (port)); \
_v; \
})


#define outb_p(port,value) \
__asm__ volatile ("outb %%al,%%dx\n" \
		"\tjmp 1f\n" \
		"1:\tjmp 1f\n" \
		"1:"::"a" (value),"d" (port))

#define inb_p(port) ({ \
unsigned char _v; \
__asm__ volatile ("inb %%dx,%%al\n" \
	"\tjmp 1f\n" \
	"1:\tjmp 1f\n" \
	"1:":"=a" (_v):"d" (port)); \
_v; \
})




#endif /*_I386_IO_H_*/

⌨️ 快捷键说明

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