io.h
来自「这个是编译后可以在PC机上运行的linux0.01版本的源代码」· C头文件 代码 · 共 31 行
H
31 行
#define outb(value,port) \__asm__ ("outb %%al,%%dx"::"a" (value),"d" (port))#define inb(port) ({ \unsigned char _v; \__asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \_v; \})#define outb_p(value,port) \__asm__ ("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; \})#define __INS(s) \extern inline void ins##s(unsigned short port, void * addr, unsigned long count) \{ __asm__ __volatile__ ("cld ; rep ; ins" #s \: "=D" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); }__INS(w)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?