亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? io.h

?? <Linux1.0核心游記>電子書+書后源碼+Linux1.0源碼
?? H
字號:
#ifndef _ASM_IO_H#define _ASM_IO_H/* * This file contains the definitions for the x86 IO instructions * inb/inw/inl/outb/outw/outl and the "string versions" of the same * (insb/insw/insl/outsb/outsw/outsl). You can also use "pausing" * versions of the single-IO instructions (inb_p/inw_p/..). * * This file is not meant to be obfuscating: it's just complicated * to (a) handle it all in a way that makes gcc able to optimize it * as well as possible and (b) trying to avoid writing the same thing * over and over again with slight variations and possibly making a * mistake somewhere. *//* * Thanks to James van Artsdalen for a better timing-fix than * the two short jumps: using outb's to a nonexistent port seems * to guarantee better timings even on fast machines. * * On the other hand, I'd like to be sure of a non-existent port: * I feel a bit unsafe about using 0x80 (should be safe, though) * *		Linus */#ifdef SLOW_IO_BY_JUMPING#define __SLOW_DOWN_IO __asm__ __volatile__("jmp 1f\n1:\tjmp 1f\n1:")#else#define __SLOW_DOWN_IO __asm__ __volatile__("outb %al,$0x80")#endif#ifdef REALLY_SLOW_IO#define SLOW_DOWN_IO { __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; }#else#define SLOW_DOWN_IO __SLOW_DOWN_IO#endif/* * Talk about misusing macros.. */#define __OUT1(s,x) \extern inline void __out##s(unsigned x value, unsigned short port) {#define __OUT2(s,s1,s2) \__asm__ __volatile__ ("out" #s " %" s1 "0,%" s2 "1"#define __OUT(s,s1,x) \__OUT1(s,x) __OUT2(s,s1,"w") : : "a" (value), "d" (port)); } \__OUT1(s##c,x) __OUT2(s,s1,"") : : "a" (value), "i" (port)); } \__OUT1(s##_p,x) __OUT2(s,s1,"w") : : "a" (value), "d" (port)); SLOW_DOWN_IO; } \__OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "i" (port)); SLOW_DOWN_IO; }#define __IN1(s) \extern inline unsigned int __in##s(unsigned short port) { unsigned int _v;#define __IN2(s,s1,s2) \__asm__ __volatile__ ("in" #s " %" s2 "1,%" s1 "0"#define __IN(s,s1,i...) \__IN1(s) __IN2(s,s1,"w") : "=a" (_v) : "d" (port) ,##i ); return _v; } \__IN1(s##c) __IN2(s,s1,"") : "=a" (_v) : "i" (port) ,##i ); return _v; } \__IN1(s##_p) __IN2(s,s1,"w") : "=a" (_v) : "d" (port) ,##i ); SLOW_DOWN_IO; return _v; } \__IN1(s##c_p) __IN2(s,s1,"") : "=a" (_v) : "i" (port) ,##i ); SLOW_DOWN_IO; return _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)); }#define __OUTS(s) \extern inline void outs##s(unsigned short port, const void * addr, unsigned long count) \{ __asm__ __volatile__ ("cld ; rep ; outs" #s \: "=S" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); }__IN(b,"b","0" (0))__IN(w,"w","0" (0))__IN(l,"")__OUT(b,"b",char)__OUT(w,"w",short)__OUT(l,,int)__INS(b)__INS(w)__INS(l)__OUTS(b)__OUTS(w)__OUTS(l)/* * Note that due to the way __builtin_constant_p() works, you *  - can't use it inside a inline function (it will never be true) *  - you don't have to worry about side effects within the __builtin.. */#define outb(val,port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__outbc((val),(port)) : \	__outb((val),(port)))#define inb(port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__inbc(port) : \	__inb(port))#define outb_p(val,port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__outbc_p((val),(port)) : \	__outb_p((val),(port)))#define inb_p(port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__inbc_p(port) : \	__inb_p(port))#define outw(val,port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__outwc((val),(port)) : \	__outw((val),(port)))#define inw(port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__inwc(port) : \	__inw(port))#define outw_p(val,port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__outwc_p((val),(port)) : \	__outw_p((val),(port)))#define inw_p(port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__inwc_p(port) : \	__inw_p(port))#define outl(val,port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__outlc((val),(port)) : \	__outl((val),(port)))#define inl(port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__inlc(port) : \	__inl(port))#define outl_p(val,port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__outlc_p((val),(port)) : \	__outl_p((val),(port)))#define inl_p(port) \((__builtin_constant_p((port)) && (port) < 256) ? \	__inlc_p(port) : \	__inl_p(port))#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产激情二区三区| 2019国产精品| 亚洲小说欧美激情另类| 欧美日韩国产综合视频在线观看 | 国产综合久久久久久久久久久久| 欧美一级二级在线观看| 精品一区二区在线视频| 久久久亚洲国产美女国产盗摄 | 91偷拍与自偷拍精品| 亚洲色图另类专区| 欧美群妇大交群中文字幕| 美女高潮久久久| 欧美高清在线视频| 91福利在线免费观看| 免费av成人在线| 欧美国产日本韩| 日本精品视频一区二区| 琪琪久久久久日韩精品| 国产色产综合产在线视频| 91影院在线免费观看| 日韩成人午夜精品| 国产亚洲人成网站| 欧美性受xxxx| 精品一区二区三区蜜桃| 亚洲男同1069视频| 日韩欧美国产三级| 色婷婷精品大在线视频| 久久精工是国产品牌吗| 成人欧美一区二区三区在线播放| 欧美日韩国产一区| 成人自拍视频在线观看| 亚洲永久精品大片| 久久众筹精品私拍模特| 色综合久久久久| 国内精品伊人久久久久av影院| 亚洲乱码国产乱码精品精的特点| 91精品国产免费| www.性欧美| 美女诱惑一区二区| 亚洲人成小说网站色在线| 精品日本一线二线三线不卡| 色哟哟一区二区在线观看 | 国产乱码精品一区二区三区五月婷 | 欧美区视频在线观看| 成人黄色小视频在线观看| 日av在线不卡| 尤物av一区二区| 国产欧美一区二区精品性| 欧美日韩不卡一区| 91香蕉视频mp4| 国产一区二区三区四区五区美女| 亚洲大片在线观看| **欧美大码日韩| 国产视频一区二区三区在线观看| 欧美一区二区三区免费大片| 91视频观看视频| 成人精品小蝌蚪| 国内一区二区在线| 另类小说视频一区二区| 丝袜亚洲另类欧美| 亚洲综合在线观看视频| 国产精品嫩草99a| 久久久久久毛片| 日韩精品一区国产麻豆| 911精品国产一区二区在线| 日本精品一区二区三区高清| av亚洲产国偷v产偷v自拍| 国产精品一区二区在线观看不卡 | 波多野结衣欧美| 国产一区二区免费看| 国内精品第一页| 麻豆精品视频在线观看免费| 美国毛片一区二区三区| 日本伊人午夜精品| 麻豆精品国产传媒mv男同| 日韩av电影免费观看高清完整版| 亚洲自拍偷拍图区| 午夜一区二区三区在线观看| 亚洲午夜av在线| 亚洲成人7777| 免费观看一级欧美片| 久草精品在线观看| 精品中文字幕一区二区小辣椒| 麻豆成人久久精品二区三区红| 毛片一区二区三区| 国模套图日韩精品一区二区| 国产一区亚洲一区| 国产91在线观看丝袜| av在线不卡网| 91精品91久久久中77777| 欧美三级视频在线| 91精品免费观看| 亚洲精品在线观看网站| 久久五月婷婷丁香社区| 中文字幕中文字幕一区| 一区二区三区中文免费| 天天综合色天天综合| 美脚の诱脚舐め脚责91| 丰满亚洲少妇av| 在线精品国精品国产尤物884a| 欧美日韩午夜精品| 欧美成人精品高清在线播放| 国产日韩高清在线| 一区二区三区日韩欧美精品| 日韩中文欧美在线| 国产精品影视网| 色狠狠色噜噜噜综合网| 日韩一区二区三区电影在线观看| 精品国一区二区三区| 国产精品激情偷乱一区二区∴| 亚洲国产日韩a在线播放| 国产自产v一区二区三区c| 成人av电影免费在线播放| 欧美人狂配大交3d怪物一区| 国产视频一区二区在线| 亚洲国产美女搞黄色| 国产一区欧美二区| 91麻豆.com| 精品对白一区国产伦| 亚洲美女偷拍久久| 狠狠色丁香婷婷综合久久片| 91色porny蝌蚪| 日韩欧美不卡一区| 中文字幕一区二| 另类中文字幕网| 欧美性色综合网| 国产精品女上位| 美女网站在线免费欧美精品| 日本韩国欧美一区| 久久欧美中文字幕| 日韩av在线发布| 一本大道久久a久久精二百| 久久久99久久精品欧美| 亚洲v日本v欧美v久久精品| 波多野结衣中文一区| 欧美成人精品福利| 日欧美一区二区| 日本道精品一区二区三区| 久久精品视频在线免费观看| 日韩国产欧美一区二区三区| 色噜噜夜夜夜综合网| 国产精品欧美综合在线| 狠狠v欧美v日韩v亚洲ⅴ| 欧美人与性动xxxx| 亚洲在线免费播放| 成人免费三级在线| 国产网红主播福利一区二区| 免费成人在线播放| 91精品婷婷国产综合久久性色| 亚洲线精品一区二区三区八戒| www.视频一区| 国产精品毛片久久久久久 | 成人一级视频在线观看| 精品久久久久久久一区二区蜜臀| 五月天久久比比资源色| 欧美视频三区在线播放| 亚洲美女屁股眼交3| 92国产精品观看| 中文字幕二三区不卡| 国产很黄免费观看久久| 精品久久一区二区三区| 久久国产夜色精品鲁鲁99| 欧美男同性恋视频网站| 午夜电影网一区| 欧美色欧美亚洲另类二区| 亚洲一区电影777| 91网站最新地址| 亚洲欧美国产77777| 色哟哟欧美精品| 亚洲成人中文在线| 69久久99精品久久久久婷婷| 亚洲国产精品欧美一二99| 欧美色图激情小说| 婷婷成人激情在线网| 欧美一级电影网站| 国产在线精品不卡| 国产欧美视频一区二区| av一本久道久久综合久久鬼色| 自拍偷拍欧美激情| 欧美日韩一区二区三区在线| 天堂蜜桃一区二区三区| 日韩三级.com| 国产精品一区二区在线观看网站 | 午夜激情一区二区三区| 91精品国产手机| 极品少妇一区二区三区精品视频| 国产亚洲午夜高清国产拍精品| www.爱久久.com| 亚洲午夜精品网| 精品国产乱子伦一区| 白白色亚洲国产精品| 亚洲成人午夜影院| 久久先锋资源网| 色视频欧美一区二区三区| 日本免费新一区视频| 中文字幕欧美区| 欧美美女一区二区| 国产精品1024| 亚洲一二三四区| 精品女同一区二区|