锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲香蕉伊综合在人在线视看,欧美日韩另类视频,国产精品青草久久久久福利99http://www.shnenglu.com/ivenher/category/243.htmlzh-cnThu, 22 May 2008 21:08:16 GMTThu, 22 May 2008 21:08:16 GMT60娣卞叆getmessage鍜宲eekmessagehttp://www.shnenglu.com/ivenher/articles/12473.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Thu, 14 Sep 2006 10:18:00 GMThttp://www.shnenglu.com/ivenher/articles/12473.htmlhttp://www.shnenglu.com/ivenher/comments/12473.htmlhttp://www.shnenglu.com/ivenher/articles/12473.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/12473.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/12473.html闃呰鍏ㄦ枃

]]>
windows緗戠粶緙栫▼涔?/title><link>http://www.shnenglu.com/ivenher/articles/12130.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Thu, 07 Sep 2006 14:32:00 GMT</pubDate><guid>http://www.shnenglu.com/ivenher/articles/12130.html</guid><wfw:comment>http://www.shnenglu.com/ivenher/comments/12130.html</wfw:comment><comments>http://www.shnenglu.com/ivenher/articles/12130.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/ivenher/comments/commentRss/12130.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ivenher/services/trackbacks/12130.html</trackback:ping><description><![CDATA[ <p>聽3. recv鍜學 S A R e c v<br />瀵瑰湪宸茶繛鎺ュ鎺ュ瓧涓婃帴鍙楁帴鍏ユ暟鎹潵璇達紝 r e c v鍑芥暟鏄渶鍩烘湰鐨勬柟寮忋傚畠鐨勫畾涔夊涓嬶細</p> <p>int recv(<br />聽聽聽聽聽SOCKET s,<br />聽聽聽聽聽char FAR * buf,<br />聽聽聽聽聽int len,<br />聽聽聽聽聽int flags<br />聽聽聽聽);<br />絎竴涓弬鏁皊錛屾槸鍑嗗鎺ユ敹鏁版嵁鐨勯偅涓鎺ュ瓧銆傜浜屼釜鍙傛暟b u f錛屾槸鍗沖皢鏀跺埌鏁版嵁鐨勫瓧絎︾紦鍐詫紝鑰宭 e n鍒欐槸鍑嗗鎺ユ敹鐨勫瓧鑺傛暟鎴朾 u f緙撳啿鐨勯暱搴︺傛渶鍚庯紝 f l a g s鍙傛暟鍙互鏄笅闈㈢殑鍊鹼細 0銆丮 S G _ P E E K鎴朚 S G _ O O B銆傚彟澶栵紝榪樺彲瀵硅繖浜涙爣蹇椾腑鐨勬瘡涓涓繘琛屾寜浣嶅拰榪愮畻銆傚綋鐒訛紝 0琛ㄧず鏃犵壒孌婅涓恒侻 S G _ P E E K浼氫嬌鏈夌敤鐨勬暟鎹鍒跺埌鎵鎻愪緵鐨勬帴鏀剁緙撳啿鍐咃紝浣嗘槸娌℃湁浠庣郴緇熺紦<br />鍐蹭腑灝嗗畠鍒犻櫎銆傚彟澶栵紝榪樿繑鍥炰簡寰呭彂瀛楄妭鏁般?br />娑堟伅鍙栨暟涓嶅お濂姐傚畠涓嶄粎瀵艱嚧鎬ц兘涓嬮檷錛堝洜涓洪渶瑕佽繘琛屼袱嬈$郴緇熻皟鐢紝涓嬈℃槸鍙栨暟錛屽彟涓嬈℃槸鏃燤 S G _ P E E K鏍囧織鐨勭湡姝e垹闄ゆ暟鎹殑璋冪敤錛夛紝鍦ㄦ煇浜涙儏鍐典笅榪樺彲鑳戒笉鍙潬銆傝繑鍥炵殑鏁版嵁鍙兘娌℃湁鍙嶅皠鍑虹湡姝f湁鐢ㄧ殑鏁伴噺銆備笌姝ゅ悓鏃訛紝鎶婃暟鎹暀鍦ㄧ郴緇熺紦鍐詫紝鍙綰蟲帴鍏ユ暟鎹殑緋葷粺絀洪棿灝變細瓚婃潵瓚婂皯銆傚叾緇撴灉渚挎槸錛岀郴緇熷噺灝戝悇鍙戦佺鐨凾 C P紿楀彛瀹歸噺銆傜敱姝わ紝浣犵殑搴旂敤灝變笉鑳借幏寰楁渶澶х殑嫻侀氥傛渶濂芥槸鎶婃墍鏈夋暟鎹兘澶嶅埗鍒拌嚜宸辯殑緙撳啿涓紝騫跺湪閭i噷璁$畻鏁版嵁銆傚墠闈㈡浘浠嬬粛榪嘙 S G _ O O B鏍囧織銆傛湁鍏寵鎯咃紝鍙傝鍓嶉潰鈥滃甫澶栨暟鎹濈殑鍐呭銆?/p> <p>鍦ㄩ潰鍚戞秷鎭垨闈㈠悜鏁版嵁鎶ョ殑濂楁帴瀛椾笂浣跨敤r e c v鏃訛紝榪欏嚑鐐瑰簲璇ユ敞鎰忋傚湪寰呭彂鏁版嵁澶т簬鎵鎻愪緵鐨勭紦鍐茶繖涓浜嬩歡涓紝緙撳啿鍐呬細灝介噺鍦板~鍏呮暟鎹傝繖鏃訛紝 r e c v璋冪敤灝變細浜х敓W S A E M S G S I Z E閿欒銆傛敞鎰忥紝娑堟伅闀塊敊璇槸鍦ㄤ嬌鐢ㄩ潰鍚戞秷鎭殑鍗忚鏃跺彂鐢熺殑銆傛祦鍗忚鎶婃帴鍏ョ殑鏁版嵁緙撳瓨涓嬫潵錛?br />騫跺敖閲忓湴榪斿洖搴旂敤鎵瑕佹眰鐨勬暟鎹紝鍗充嬌寰呭彂鏁版嵁鐨勬暟閲忔瘮緙撳啿澶с傚洜姝わ紝瀵規祦寮忎紶杈撳崗璁潵璇達紝灝變笉浼氱鍒癢 S A E M S G S I Z E榪欎釜閿欒銆?br />W S A R e c v鍑芥暟鍦╮ e c v鐨勫熀紜涓婂鍔犱簡涓浜涙柊鐗規с傛瘮濡傝閲嶅彔I / O鍜岄儴鍒嗘暟鎹姤閫氱煡銆?br />W S A R e c v鐨勫畾涔夊涓嬶細</p> <p>int WSARecv(<br />聽聽聽聽聽聽聽SOCKET聽s,<br />聽聽聽聽聽聽聽LPWSABUF lpBuffers,<br />聽聽聽聽聽聽聽DWORD聽聽 dwBufferCount,<br />聽聽聽聽聽聽聽LPWORD聽 lpNumberOfBytesRecved,<br />聽聽聽聽聽聽聽LPWSAOVERLAPPED聽lpOverlapped,<br />聽聽聽聽聽聽聽LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionROUTINE<br />聽聽聽聽聽聽);<br />聽聽聽聽聽聽<br />鍙傛暟s錛屾槸宸插緩绔嬭繛鎺ョ殑濂楁帴瀛椼傜浜屽拰絎笁涓弬鏁版槸鎺ユ敹鏁版嵁鐨勭紦鍐層俵 p B u ff e r s鍙傛暟鏄竴涓猈 S A B U F緇撴瀯緇勬垚鐨勬暟緇勶紝鑰宒 w B u ff e r C o u n t鍒欒〃鏄庡墠涓涓暟緇勪腑W S A B U F緇撴瀯鐨勬暟鐩?br />濡傛灉鎺ユ敹鎿嶄綔绔嬪嵆瀹屾垚錛?l p N u m b e r O f B y t e s R e c e i v e d鍙傛暟灝變細鎸囧悜鎵ц榪欎釜鍑芥暟璋冪敤鎵鏀跺埌鐨勫瓧鑺傛暟銆俵 p F l a g s鍙傛暟鍙互鏄笅闈換浣曚竴涓鹼細 M S G _ P E E K銆丮 S G _ O O B銆丮 S G _ PA RT I A L鎴栬呭榪欎簺鍊艱繘琛屾寜浣嶅拰榪愮畻涔嬪悗鐨勭粨鏋溿侻 S G _ PA RT I A L鏍囧織浣跨敤鍜屽嚭鐜扮殑鍦版柟涓嶅悓錛屽叾鍚?br />涔変篃涓嶅悓銆傚闈㈠悜娑堟伅鐨勫崗璁潵璇達紝榪欎釜鏍囧織鏄疻 S A R e c v璋冪敤榪斿洖鍚庤緗殑錛堝鏋滃洜涓虹紦鍐茬┖闂翠笉澶熷鑷存暣鏉℃秷鎭湭鑳藉湪榪欐璋冪敤涓繑鍥炵殑璇濓級銆傝繖鏃訛紝鍚庨潰鐨刉 S A R e c v璋冪敤灝變細璁劇疆榪欎釜鏍囧織M A S G _ PA RT I A L錛岀洿鍒版暣鏉℃秷鎭繑鍥烇紝鎵嶆妸榪欎釜鏍囧織娓呴櫎銆傚鏋滆繖涓爣蹇楀綋浣滀竴涓緭鍏ュ弬鏁版姇閫掞紝鎺ユ敹鎿嶄綔搴旇鍦ㄤ竴鏀跺埌鏁版嵁灝辯粨鏉燂紝鍗充嬌瀹冩敹鍒扮殑鍙槸鏁存潯娑堟伅涓殑涓閮ㄥ垎銆?br />M S G _ PA RT I A L鏍囧織鍙殢闈㈠悜娑堟伅鐨勫崗璁竴璧蜂嬌鐢ㄣ傛瘡涓崗璁殑鍗忚鏉$洰閮藉寘鍚竴涓爣蹇楋紝琛ㄦ槑鏄惁鏀寔榪欎竴鐗規с傛湁鍏寵鎯咃紝鍙傝絎?绔犮俵 p O v e r l a p p e d鍜宭 p C o m p l e t i o n R O U T I N E鍙傛暟鐢ㄤ簬閲嶅彔I / O鎿嶄綔</p> <p>4. WSARecvDisconnect<br />榪欏嚱鏁頒笌W S A S e n d D i s c o n n e c t鍑芥暟瀵瑰簲錛屽叾瀹氫箟濡備笅錛?br />int WSARecvDisconnect(聽<br />聽聽聽聽聽聽聽聽聽聽聽聽SOCKET s,<br />聽聽聽聽聽聽聽聽聽聽聽聽LPWSABUF lpOUTboundDisconnectData<br />聽聽聽聽聽聽聽聽聽聽聽);<br />鍜學 S A S e n d D i s c o n n e c t鍑芥暟鐨勫弬鏁頒竴鏍鳳紝璇ュ嚱鏁扮殑鍙傛暟涔熸槸宸插緩绔嬭繛鎺ョ殑濂楁帴瀛楀彞鏌勫拰<br />涓涓湁鏁堢殑W S A B U F緇撴瀯錛堝甫鏈夋敹鍒扮殑鏁版嵁錛夈傛敹鍒扮殑鏁版嵁鍙互鍙槸鏂紑鏁版嵁銆傝繖涓柇寮鏁版嵁鏄彟涓绔墽琛學 S A S e n d D i s c o n n e c t璋冪敤鍙戝嚭鐨勶紝瀹冧笉鑳界敤浜庢帴鏀舵櫘閫氭暟鎹傚彟澶栵紝涓鏃︽敹鍒拌繖涓暟鎹紝 W S A R e c v D i s c o n n e c t鍑芥暟灝變細鍙栨秷鎺ユ敹榪滅▼閫氫俊鏂圭殑鏁版嵁錛屽叾浣滅敤鍜岃皟鐢ㄥ甫鏈塖 D _ R E C V鐨剆 h u t d o w n鍑芥暟鐩稿悓銆?br />5. WSARecvEx<br />W S A R e c v E x鍑芥暟鏄井杞笓鏈夌殑Winsock 1鎵╁睍錛岄櫎浜唂 l a g s鍙傛暟鏄寜鍊煎紩鐢ㄥ錛屽叾浣欏拰r e c v鍑芥暟鏄竴鏍風殑銆傚畠鍏佽鍩哄眰鐨勬彁渚涜呰緗甅 S G _ PA RT I A L鏍囧織銆傝鍑芥暟鐨勫師鍨嬪涓嬶細</p> <p>int PASCAL FAR WSARecvEx(<br />聽聽聽聽聽聽聽聽聽聽聽聽聽SOCKET s,<br />聽聽聽聽聽聽聽聽聽聽聽聽聽char FAR * buf,<br />聽聽聽聽聽聽聽聽聽聽聽聽聽int len,<br />聽聽聽聽聽聽聽聽聽聽聽聽聽int * flags<br />聽聽聽聽聽聽聽聽聽聽聽聽);<br />聽聽聽聽聽聽聽聽聽聽聽聽</p> <p> <br />濡傛灉鏀跺埌鐨勬暟鎹笉鏄竴鏉″畬鏁寸殑娑堟伅錛?f l a g s鍙傛暟涓氨浼氳繑鍥濵 S G _ PA RT I A L鏍囧織銆傚闈㈠悜娑堟伅鐨勫崗璁紙鍗抽潪嫻佸崗璁級鏉ヨ錛岃繖涓爣蹇楁瘮杈冩湁鐢紙鍗抽潪嫻佸崗璁級銆傚湪M S G _ PA RT I A L鏍囧織琚綋浣渇 l a g s鍙傛暟鐨勪竴閮ㄥ垎鎶曢掞紝鑰屼笖鏀跺埌鐨勬秷鎭張涓嶅畬鏁存椂錛岃皟鐢╓ S A R e c v E x錛屽氨浼氱珛鍗?br />榪斿洖鏀跺埌鐨勯偅涓暟鎹傚鏋滄彁渚涚殑鎺ユ敹緙撳啿瀹圭撼涓嶄笅鏁存潯娑堟伅錛?W S A R e c v E x灝變細澶辮觸錛屽茍鍑虹幇W S A E M S G S I Z E 閿欒錛屽墿涓嬬殑鏁版嵁涔熶細琚埅鎺夈傛敞鎰忥紝 M S G _ PA RT I A L 鏍囧織鍜學 S A E M S G S I Z E閿欒涔嬮棿鐨勭‘鍖哄埆鏄細鏈変簡榪欎釜閿欒錛屽嵆浣挎暣鏉℃秷鎭埌杈炬帴鏀剁錛屼絾鐢變簬鎻?br />渚涚殑鏁版嵁緙撳啿澶皯錛屼篃涓嶈兘瀵瑰畠榪涜鎺ユ敹銆侻 S G _ P E E K 鍜孧 S G _ O O B鏍囧織榪樺彲浠ュ拰W S A R e c v E x涓璧蜂嬌鐢ㄣ?/p> <img src ="http://www.shnenglu.com/ivenher/aggbug/12130.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-07 22:32 <a href="http://www.shnenglu.com/ivenher/articles/12130.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>windows緗戠粶緙栫▼浜?/title><link>http://www.shnenglu.com/ivenher/articles/12055.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Tue, 05 Sep 2006 11:31:00 GMT</pubDate><guid>http://www.shnenglu.com/ivenher/articles/12055.html</guid><wfw:comment>http://www.shnenglu.com/ivenher/comments/12055.html</wfw:comment><comments>http://www.shnenglu.com/ivenher/articles/12055.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ivenher/comments/commentRss/12055.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ivenher/services/trackbacks/12055.html</trackback:ping><description><![CDATA[ <p>聽絎?绔犻噸瀹氬悜鍣?br />聽棣栧厛錛屾垜浠墦綆楄В閲婂<br />浣曢氳繃緗戠粶錛屼嬌鐢ㄢ滃U N C鎻愪緵鑰呪濓紙 Multiple UNC Provider, MUP錛夎祫婧愬畾浣嶇錛岄氳繃鈥滈氱敤鍛藉悕瑙勮寖鈥濓紙Universal Naming Convention, UNC錛夋潵寮曠敤榪滅▼鏂囦歡銆?/p> <p>闅忓悗錛屾垜浠瑙d簡M U P濡備綍璋冪敤涓涓綉緇滄彁渚涜咃紝浠庤屾彮紺哄嚭鎬庢牱閫氳繃涓涓噸瀹氬悜鍣紝鍦ㄢ滄湇鍔″櫒娑堟伅鍧椻濓紙Server Message Block, SMB錛夊崗璁殑甯姪涓嬶紝鍦ㄤ笉鍚岀殑璁$畻鏈轟箣闂村緩绔嬫暟鎹氫俊銆?/p> <p>鏈鍚庯紝鎴戜滑鎺㈣浜嗙綉緇滃畨鍏ㄦ柟闈㈢殑涓浜涢棶棰樸備嬌鐢ㄥ熀鏈殑鏂囦歡I / O鎿嶄綔錛岄氳繃緗戠粶鏉ヨ闂枃浠舵椂錛岃繖浜涘畨鍏ㄩ棶棰樻槸蹇呴』鑰冭檻鍒扮殑銆?/p> <p>2.1 閫氱敤鍛藉悕瑙勮寖</p> <p>鈥淯 N C璺緞鈥? 涓虹綉緇滄枃浠跺強璁懼鐨勮闂緩绔嬩簡涓濂楃粺涓鐨勮鑼冦傚畠鏈澶х殑鐗圭偣渚挎槸涓嶅繀鎸囧畾鎴栧紩鐢ㄤ竴涓凡鏄犲皠鍒拌繙紼嬫枃浠剁郴緇熺殑鏈湴椹卞姩鍣ㄥ瓧姣嶃?/p> <p>U N C鍚嶅瓧瀹屽叏瑙e喅浜嗚繖浜涢棶棰橈紝瀹冪殑鏍煎紡濡備笅錛?br />\ \ [鏈嶅姟鍣╙ \ [鍏變韓鍚峕 \ [璺緞]<br />絎竴閮ㄥ垎鏄痋 \ [鏈嶅姟鍣╙錛屽繀欏諱互涓や釜鍙嶆枩鏉犲紑澶達紝绱ц窡鐫涓涓湇鍔″櫒鍚嶅瓧銆?br />絎簩閮ㄥ垎鏄痋 [鍏變韓鍚峕錛屽畠瀵瑰簲鐫榪滅▼鏈嶅姟鍣ㄤ笂鐨勪竴涓滃叡浜叆鍙b濇垨鑰呪滃叡浜綅緗濄?br />銆傝岀涓夐儴鍒哱 [璺緞]  瀵瑰簲鐨勬槸鍏變韓浣嶇疆涓嬬殑鏌愪釜鍏蜂綋鐩綍錛堟垨瀛愮洰褰曪級</p> <p> <br />絎?绔犻偖妲?/p> <p>涓縐嶇畝鍗曠殑鍗曞悜鈥滆繘紼嬮棿閫氫俊鈥濓紙interprocess communication,I P C錛夋満鍒躲傝繖涓満鍒剁殑鍚嶅瓧闈炲父鍙ゆ紝鍙綔鈥滈偖妲解濓紙M a i l s l o t錛夈傜敤鏈綆鍗曠殑璇濇潵璇達紝閫氳繃<br />閭Ы錛屽鎴鋒満榪涚▼鍙皢娑堟伅浼犻佹垨騫挎挱緇欎竴涓垨澶氫釜鏈嶅姟鍣ㄨ繘紼嬨傚湪鍚屼竴鍙拌綆楁満鐨勪笉鍚岃繘紼嬩箣闂達紝鎴栧湪璺ㄨ秺鏁翠釜緗戠粶鐨勪笉鍚岃綆楁満鐨勮繘紼嬩箣闂達紝鍗忓姪榪涜娑堟伅鐨勪紶杈撱傜敤閭Ы鏉ュ紑鍙戝簲鐢ㄧ▼搴忔槸涓浠墮潪甯哥畝鍗曠殑浜嬫儏錛屼笉瑕佹眰瀵筎 C P / I P鎴朓 P X榪欐牱鐨勫熀灞傜綉緇滀紶閫佸崗璁湁鐫闈炲父娣卞叆鐨勪簡瑙c傜敱浜庨偖妲芥槸鍥寸粫涓涓箍鎾氫俊浣撶郴璁捐鍑烘潵鐨勶紝鎵浠ュ綋鐒朵笉鑳芥寚鏈涜兘閫氳繃瀹冨疄鐜版暟鎹殑鈥滃彲闈犫濅紶杈撱?/p> <p>閭Ы鏈澶х殑涓涓己鐐逛究鏄彧鍏佽浠庡鎴鋒満鍒版湇鍔″櫒錛屽緩绔嬩竴縐嶄笉鍙潬鐨勫崟鍚戞暟鎹氫俊銆?br />鑰屽彟涓鏂歸潰錛岄偖妲芥渶澶х殑涓涓紭鐐瑰湪浜庯紝瀹冧滑浣垮鎴鋒満搴旂敤鑳藉闈炲父瀹規槗鍦板皢騫挎挱娑堟伅鍙戦佺粰涓涓垨澶氫釜鏈嶅姟鍣ㄥ簲鐢ㄣ?/p> <p>3.1 閭Ы瀹炴柦緇嗚妭<br />閭Ы鏄洿緇昗i n d o w s鏂囦歡緋葷粺鎺ュ彛璁捐鍑烘潵鐨勩傚鎴鋒満鍜屾湇鍔″櫒搴旂敤闇瑕佷嬌鐢ㄦ爣鍑嗙殑Wi n 3 2鏂囦歡緋葷粺I / O錛堣緭鍏ワ紡杈撳嚭錛夊嚱鏁幫紝姣斿R e a d F i l e鍜學r i t e F i l e絳夌瓑錛屼互渚垮湪閭Ы涓婃敹鍙戞暟鎹紝鍚屾椂鍒╃敤Wi n 3 2鏂囦歡緋葷粺鐨勫懡鍚嶈鍒欍傞偖妲藉繀欏諱緷璧朩i n d o w s閲嶅畾鍚戝櫒錛岄氳繃涓涓滈偖妲芥枃浠剁郴緇熲濓紙Mailslot File System, MSFS錛夛紝鏉ュ垱寤哄強鏍囪瘑閭Ы銆?/p> <p>3.1.1 閭Ы鐨勫悕瀛?br />瀵歸偖妲借繘琛屾爣璇嗘椂錛岄渶閬靛畧涓嬭堪鍛藉悕瑙勫垯錛?br />\ \ s e r v e r \ M a i l s l o t \ [ p a t h ] n a m e<br />璇峰皢涓婅堪瀛椾覆鍒嗕負涓夋鏉ョ湅錛?\ \ s e r v e r銆乗 M a i l s l o t鍜孿 [ p a t h ] n a m e銆傜涓閮ㄥ垎\ \ s e r v e r瀵瑰簲浜庢湇鍔″櫒鐨勫悕瀛楋紝鎴戜滑瑕佸湪涓婇潰鍒涘緩閭Ы錛屽茍鍦ㄥ湪涓婇潰榪愯鏈嶅姟鍣ㄧ▼搴忋傜浜岄儴鍒哱 M a i l s l o t鏄竴涓滅‖緙栫爜鈥濈殑鍥哄畾瀛椾覆錛岀敤浜庡憡璇夌郴緇熻繖涓枃浠跺悕浠庡睘浜嶮 S F S銆傝岀涓夐儴鍒哱 [ p a t h ] n a m e鍒?br />鍏佽搴旂敤紼嬪簭鐙竴鏃犱簩鍦板畾涔夊強鏍囪瘑涓涓偖妲藉悕銆傚叾涓紝鈥減 a t h鈥濅唬琛ㄨ礬寰勶紝鍙寚瀹氬綰х洰褰曘?br />涓句釜渚嬪瓙鏉ヨ錛屽涓涓偖妲借繘琛屾爣璇嗘椂錛屼笅闈㈣繖浜涘艦寮忕殑鍚嶅瓧閮芥槸鍚堟硶鐨勶紙娉ㄦ剰M a i l s l o t涓嶅緱鍙樺寲錛屽繀欏誨師鏂囩収杈擄紝浜﹀嵆鎵璋撶殑鈥滅‖緙栫爜鈥濓級錛?br />鐢變簬閭Ы瑕佷緷璧朩i n d o w s鏂囦歡緋葷粺鏈嶅姟鍦ㄧ綉涓婃潵鍒涘緩鍜屼紶杈撴暟鎹紝鎵浠ユ帴鍙f槸鈥滀笌鍗忚鏃犲叧鈥濈殑銆?br />瑕佹兂淇濊瘉鍚勭Wi n d o w s騫沖彴涔嬮棿鑳藉瀹屽叏姝e父鍦伴氫俊錛屽己鐑堝緩璁皢娑堟伅闀垮害闄愬埗鍦? 2 4瀛楄妭錛屾垨鑰呮洿鐭傚鏋滆繘琛岄潰鍚戣繛鎺ョ殑浼犺緭錛屽彲鑰冭檻浣跨敤鍛藉悕綆¢亾錛岃屼笉鏄畝鍗曠殑閭Ы銆?/p> <p>3.5 灝忕粨<br />鏈珷璁茶В浜嗛偖妲斤紙 M a i l s l o t錛夌綉緇滅紪紼嬫妧鏈傚埄鐢ㄨ繖涓鎶鏈紝搴旂敤紼嬪簭鍙互鍦╓i n d o w s閲嶅畾鍚戝櫒鐨勫府鍔╀笅錛屽疄鐜扮畝鍗曠殑鍗曞悜榪涚▼闂存暟鎹氫俊銆傚閭Ы鏉ヨ錛屽畠鏈鏈変環鍊肩殑涓欏瑰姛鑳戒究鏄氳繃緗戠粶錛屽皢涓鏉℃秷鎭箍鎾粰涓鍙版垨澶氬彴璁$畻鏈恒傜劧鑰岋紝閭Ы騫舵湭鎻愪緵瀵規暟鎹彲闈犱紶杈撶殑淇濋殰銆傚亣濡傚笇鏈涚敤Wi n d o w s閲嶅畾鍚戝櫒瀹炵幇鈥滃彲闈犫濈殑鏁版嵁閫氫俊錛岃鑰冭檻浣跨敤鍛藉悕綆¢亾錛岃繖鏄笅涓绔犵殑涓婚錛?/p> <img src ="http://www.shnenglu.com/ivenher/aggbug/12055.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-05 19:31 <a href="http://www.shnenglu.com/ivenher/articles/12055.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>windows 緗戠粶緙栫▼http://www.shnenglu.com/ivenher/articles/12040.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Tue, 05 Sep 2006 08:46:00 GMThttp://www.shnenglu.com/ivenher/articles/12040.htmlhttp://www.shnenglu.com/ivenher/comments/12040.htmlhttp://www.shnenglu.com/ivenher/articles/12040.html#Feedback1http://www.shnenglu.com/ivenher/comments/commentRss/12040.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/12040.html1銆乶etBIOS
闈炲彲璺敱鍗忚
LAN閫傞厤鍣紙LAN聽 adapter錛夌紪鍙峰緢閲嶈.
姣忎釜LANA緙栧彿瀵瑰簲浜庣綉鍗″拰浼犺緭鍗忚鐨勫敮涓緇勫悎銆?/p>

netBIOS鍚嶅瓧
鍦╓i n 3 2鐜涓紝閽堝姣忎釜鍙敤鐨凩 A N A緙栧彿錛屾瘡
涓繘紼嬮兘浼氫負鍏剁淮鎸佷竴寮燦 e t B I O S鍚嶅瓧琛ㄣ傝嫢涓篖ANA 0澧炴坊涓涓悕瀛楋紝鎰忓懗鐫浣犵殑搴旂敤紼嬪簭
鍙兘鍦↙ANA 0涓婂悓瀹㈡埛鏈哄緩绔嬭繛鎺ャ傚姣忎釜L A N A鏉ヨ錛岃兘澶熸坊鍔犵殑鍚嶅瓧鐨勬渶澶ф暟閲忔槸2 5 4錛?br />緙栧彿浠?鍒? 5 4錛?鍜? 5 5鐢辯郴緇熶繚鐣欙級
錛孨 e t B I O S鍚嶅瓧鍏辨湁涓や釜鎬ц川錛氬敮涓鍚嶅瓧鍜岀粍鍚?br />寰蔣緗戠粶涓殑鏈哄櫒鍛藉悕灝辨槸NetBIOS鍛藉悕銆?br />鈥滅粍鍚嶁濈殑浣滅敤鏄皢鏁版嵁鍚屾椂鍙戠粰澶氫釜鎺ユ敹鑰咃紱鎴栬呯浉鍙嶏紝鎺ユ敹鍙戠粰澶氫釜
鎺ユ敹鑰呯殑鏁版嵁銆傜粍鍚嶅茍闈炰竴瀹氳鈥滅嫭涓鏃犱簩鈥濓紝瀹冧富瑕佺敤浜庡鎾紙澶氱偣鍙戦侊級鏁版嵁閫氫俊
鑻ユ湁鈥渨indows浜掕仈緗戝懡鍚嶆湇鍔″櫒鈥濆嵆wins錛屽垯鏈夊畠綆$悊錛岃嫢鏃犲垯鍙戝箍鎾帰嫻嬫槸鍚﹂噸鍚嶃?/p>

1.1.3 NetBIOS鐗規?/p>

N e t B I O S鍚屾椂鎻愪緵浜嗏滈潰鍚戣繛鎺モ濇湇鍔′互鍙娾滄棤榪炴帴鈥濇湇鍔°?/p>

1.2 NetBIOS緙栫▼鍩虹
NetBIOS API鐨勮緗紝鍙湁涓涓嚱鏁幫細
UCHAR Netbios(PNCB pNCB);

鐢ㄤ簬N e t B I O S鐨勬墍鏈夊嚱鏁板0鏄庛佸父鏁扮瓑絳夊潎鏄湪澶存枃浠禢 b 3 0 . h鍐呭畾涔夌殑銆傝嫢鎯寵繛鎺?br />N e t B I O S搴旂敤錛屽敮涓闇瑕佺殑搴撴槸N e t a p i 3 2 . l i b銆?br />璋冪敤N e t b i o s鍑芥暟鏃訛紝鍙夋嫨榪涜鍚屾璋冪敤錛岃繕鏄繘琛屽紓姝ヨ皟鐢ㄣ傛墍鏈塏 e t B I O S鍛戒護鏈韓鍧囨槸鍚屾鐨勩傝鎯沖紓姝ヨ皟鐢ㄤ竴涓懡浠わ紝闇瑕佽N e t B I O S鍛戒護鍚孉 S Y N C H鏍囧織榪涜涓嬈¢昏緫O R錛堟垨錛夎繍綆椼傚鎸囧畾浜咥 S Y N C H鏍囧織錛岄偅涔堝繀欏誨湪n c b _ p o s t瀛楁涓寚瀹氫竴涓悗渚嬬▼錛圥ost Routine錛夛紝鎴栧繀欏誨湪n c b _e v e n t瀛楁涓寚瀹氫竴涓簨浠跺彞鏌勩傛墽琛屼竴涓紓姝ュ懡浠ゆ椂錛屼粠N e t b i o s榪斿洖鐨勫兼槸N R C _ G O O D R E T( 0 x 0 0 )錛屼絾n c b _ c m d _ c p l t瀛楁浼氳涓篘 R C _ P E N D I N G ( 0 x F F )銆傞櫎姝や互澶栵紝 N e t b i o s鍑芥暟榪樹細灝哊 C B緇撴瀯鐨刵 c b _ c m d _ c p l t瀛楁璁句負N R C _ P E N D I N G錛堝緟鍐籌級錛岀洿鍒板懡浠ゅ畬鎴愪負姝€傚懡浠ゅ畬鎴愬悗錛宯 c b _ c m d _ c p l t瀛楁浼氳涓鴻鍛戒護鐨勮繑鍥炲箋侼 e t b i o s涔熶細鍦ㄥ畬鎴愬悗灝唍 c b _ r e t c o d e瀛楁璁句負鍛戒護鐨勮繑鍥炲箋?br />

1.4 鏁版嵁鎶ョ殑宸ヤ綔鍘熺悊

鈥滄暟鎹姤鈥濓紙D a t a g r a m錛夊睘浜庝竴縐嶁滄棤榪炴帴鈥濈殑閫氫俊鏂規硶銆備綔涓哄彂閫佹柟錛屽彧闇鐢ㄧ洰鏍?br />N e t B I O S鍚嶅瓧涓哄彂鍑虹殑姣忎釜鍖呭畾鍧錛岀劧鍚庣畝鍗曞湴閫佸嚭浜嗕簨銆傛鏃訛紝涓嶄細鎵ц浠諱綍媯鏌ワ紝浠ョ‘
淇濇暟鎹殑瀹屾暣鎬с佹姷杈鵑『搴忔垨鑰呬紶杈撶殑鍙潬鎬х瓑絳夈?/p>

鍙戝嚭涓涓暟鎹姤鍏辨湁涓夌鏂瑰紡銆?br />絎竴縐嶆槸鎸囨尌鏁版嵁鎶ユ姷杈句竴涓壒瀹氱殑錛堟垨鍞竴鐨勶級緇勫悕銆傝繖鎰忓懗鐫鍙兘鏈変竴涓繘紼嬭礋璐f暟鎹姤鐨勬帴鏀垛斾害鍗蟲敞鍐屼簡鐩爣鍚嶅瓧鐨勯偅涓繘紼嬨?br />絎簩縐嶆槸灝嗘暟鎹姤鍙戠粰涓涓粍鍚嶃傚彧鏈夋敞鍐屼簡鎸囧畾緇勫悕鐨勯偅浜涜繘紼嬫墠鏈夋潈鎺ユ敹娑堟伅銆?br />鏈鍚庯紝絎笁縐嶆柟寮忔槸灝嗘暟鎹姤騫挎挱鍒版暣涓綉緇溿?/p>

]]>
Rich Client鎶鏈畝浠?4http://www.shnenglu.com/ivenher/articles/5814.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Tue, 18 Apr 2006 04:52:00 GMThttp://www.shnenglu.com/ivenher/articles/5814.htmlhttp://www.shnenglu.com/ivenher/comments/5814.htmlhttp://www.shnenglu.com/ivenher/articles/5814.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/5814.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/5814.html

聽聽聽 鍘熶唬鍙蜂負鈥淩oyale鈥濈殑MacromediaFlex杞歡灝嗘妸鏈嶅姟鍣ㄨ蔣浠躲佸紑鍙戞寚鍗楀拰鍏朵粬宸ュ叿緇勫悎鍦ㄤ竴璧鳳紝浣夸紶緇熺殑緗戠粶搴旂敤寮鍙戜漢鍛樿兘澶熺敤Macromedia鍏徃鐨凢lash鏍煎紡鍒涗綔杞歡鍗曞厓銆傚浠庡墠鎶ラ亾鐨勯偅鏍鳳紝璇ヤ駭鍝佺殑閲嶇偣鏄閭d簺浣跨敤Sun寰郴緇熷叕鍙哥殑Java2浼佷笟鐗?J2EE)鐨勫紑鍙戜漢鍛樿兘澶熷垱浣滃嚭鏇存湁鍚稿紩鍔涖佹洿瀹規槗瀵艱埅鐨凧2EE搴旂敤杞歡鎺ュ彛銆?o:p>

聽聽聽 Flex灝嗕嬌J2EE寮鍙戜漢鍛樹嬌鐢ㄦ爣鍑嗙殑鏂囨湰寮忓紑鍙戝伐鍏鋒潵鍒朵綔Flash搴旂敤紼嬪簭錛岃屼笉蹇呬嬌鐢∕acromedia鍏徃浠ュ墠鍑哄敭鐨勫鏉傜殑璁捐宸ュ叿銆侻acromedia鍏徃浠庝粖騫村勾鍒濆紑濮嬶紝鍔姏鎵╁ぇFlash鏍煎紡瀵逛簬涓繪祦寮鍙戝晢鐨勫惛寮曞姏錛屽叾鐩爣鏄墿澶lash鐨勭敤閫旓紝浣垮叾鎴愪負鎻愪緵浜掕仈緗戝簲鐢ㄥ拰寤虹珛浜や簰寮忕綉绔欑殑鍩虹銆?o:p>

聽聽聽 Macromedia鍏徃璁″垝鍦?004騫翠笂鍗婂勾鎺ㄥ嚭Flex鏈嶅姟鍣ㄨ蔣浠訛紝璇ヨ蔣浠剁殑浠鋒牸鐩墠榪樻病鏈夌‘瀹氥傚畠鐨勫垵綰х増鏈皢榪愯浜嶫2EE涓紝騫惰鍒掗殢鍚庢帹鍑烘敮鎸佸井杞殑.Net鏍煎紡鐨勭増鏈傛渶鍒濈殑鏀寔鑰呭寘鎷琁BM鍏徃錛屽畠灝嗛殢鑷繁鐨刉ebSphere杞歡涓璧鋒帹騫縁lex鐨勫簲鐢ㄣ?

聽聽聽 闇瑕佷簡瑙f洿澶欶lex鎶鏈殑鏈嬪弸鍙互璁塊棶Flex鐨勪富欏碉細

聽聽聽 http://www.macromedia.com/software/flex/聽

Thinlet

聽聽聽 Thinlet鏄竴涓噰鐢ˋpplet瑙f瀽XUL騫舵彁渚涚浉搴旂晫闈㈢殑瑙f瀽鍣紝鍦ㄤ簨浠跺彂鐢熸椂錛岃皟鐢ㄧ敤鎴瘋嚜宸辯殑浜嬩歡澶勭悊紼嬪簭(java 紼嬪簭)錛岄渶瑕佸鎴風嫻忚鍣ㄦ敮鎸丄pplet銆傛洿澶氫俊鎭彲浠ュ弬鑰冦http://www.thinlet.com/



]]>
Rich Client鎶鏈畝浠?3http://www.shnenglu.com/ivenher/articles/5813.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Tue, 18 Apr 2006 04:50:00 GMThttp://www.shnenglu.com/ivenher/articles/5813.htmlhttp://www.shnenglu.com/ivenher/comments/5813.htmlhttp://www.shnenglu.com/ivenher/articles/5813.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/5813.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/5813.htmlHessian錛坔ttp://www.caucho.com錛夋槸鐢盧esin搴旂敤鏈嶅姟鍣ㄧ殑寮鍙戝晢Caucho鍏徃鍒跺畾鐨勪竴涓猂PC鍗忚錛岃櫧鐒跺畠涔熸槸閫氳繃HTTP鍗忚浼犺緭RPC灝佸寘錛屼絾鏄畠鐨凴PC灝佸寘鍗存槸浠ヤ簩榪涘埗褰㈠紡緙栫爜鐨勶紝鑰屼笖鑳藉琛ㄧ幇瀵硅薄妯″瀷鍜屽紓甯鎬綋緋伙紝榪欏氨浣垮緱Hessian姣?a class="Channel_KeyLink" >XML-RPC鍏鋒湁鏇撮珮鐨勬晥鐜囥??XML:NAMESPACE PREFIX = O /?>

鍏蜂綋閫氫俊鏈哄埗璧勬枡璇瘋鑰呭弬鑰冪綉涓婂唴瀹瑰拰閫忔槑浜?004騫?鏈熴婄▼搴忓憳銆嬫潅蹇椾腑銆婄帇鏈濆杈熻繕鏄蕩鐏噸鐢熴嬩竴鏂囥?o:p>

Rich Client 寮婧愬紑鍙戝鉤鍙?/b> Laszlo

Laszlo鏄竴涓紑婧愮殑Rich client寮鍙戠幆澧冦備嬌鐢↙aszlo騫沖彴鏃訛紝寮鍙戣呭彧闇緙栧啓鍚嶄負LZX鐨勬弿榪拌璦錛堝叾涓暣鍚堜簡XML鍜孞avaScript錛夛紝榪愯鍦↗2EE搴旂敤鏈嶅姟鍣ㄤ笂鐨凩aszlo騫沖彴浼氬皢鍏剁紪璇戞垚FLASH鏂囦歡騫朵紶杈撶粰瀹㈡埛绔睍紺恒傚崟浠庤繍琛屽師鐞嗘潵璇達紝Laszlo涓嶺UL錛?a class="Channel_KeyLink" >XML鐢ㄦ埛鎺ュ彛璇█錛屄犅犅?XML User interface Language錛夈乆AML錛堚淟onghorn鈥濓級鏍囪璇█寰堢被浼箋備絾瀹冪殑鏈澶т紭鍔垮湪浜庯細瀹冩妸鎻忚堪璇█緙栬瘧鎴怓LASH錛岃孎LASH鏄換浣曟祻瑙堝櫒閮芥敮鎸佺殑灞曠ず褰㈠紡錛屼粠鑰屼竴涓捐В鍐充簡嫻忚鍣ㄤ箣闂寸殑縐繪闂銆傝屼笖錛屽湪鏈潵鐨勮鍒掍腑錛孡aszlo榪樺彲浠ュ皢LZX緙栬瘧鎴怞ava鎴?NET鏈湴浠g爜錛屼粠鑰屽ぇ澶ф彁楂樿繍琛屾晥鐜囥?o:p>

鍏蜂綋璇峰弬鑰僪ttp://www.openlaszlo.org銆?o:p>

IBM AlphaWorks緗戠珯榪戞棩鍙戝竷浜嗙敤浜庡紑鍙慙aszlo搴旂敤紼嬪簭鐨勯泦鎴愬紑鍙戠幆澧冿紙瀹為檯涓婃槸涓涓狤clipse鎻掍歡錛夛紝浣縅2EE寮鍙戣呰兘澶熷湪浠栦滑鐔熸倝鐨凟clipse鐜涓揩閫熷紑鍙戝熀浜嶭aszlo鐨剅ich client搴旂敤紼嬪簭銆傚彲浠ュ湪涓嬪垪鍦板潃涓嬭澆璇ユ彃浠訛細

http://alphaworks.ibm.com/tech/ide4laszlo

姝ゅ錛孉lphaWorks緗戠珯榪樻彁渚涗簡涓涓敤Laszlo寮鍙戠殑紺轟緥搴旂敤錛屽睍紺轟簡鍦‥clispe鐜涓嬪紑鍙慙aszlo搴旂敤鐨勮繃紼嬨俤emo鐨勫湴鍧濡備笅錛?o:p>

http://dl.alphaworks.ibm.com/technologies/rcb/demo.html

FLEX

聽聽聽 Flex鏄疢acromedia鍏徃寮鍙戠殑錛岀敤浜嶳ich client寮鍙戠殑鐜錛屽叾鍘熺悊鏄皢MXML(the Macromedia Flex Markup Language)鏂囦歡錛岀紪璇戞垚SWF鏂囦歡錛岀劧鍚庢樉紺哄湪嫻忚鍣ㄤ腑,騫跺埄鐢╓eb Service鎶鏈拰鏈嶅姟鍣ㄩ氫俊銆備粠鑰屽埄鐢‵lash鐨勫己澶у姛鑳斤紝甯︽潵鏇翠赴瀵岀殑鐢ㄦ埛浣撻獙銆?/p>

]]>
Rich Client鎶鏈畝浠?2http://www.shnenglu.com/ivenher/articles/5812.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Tue, 18 Apr 2006 04:47:00 GMThttp://www.shnenglu.com/ivenher/articles/5812.htmlhttp://www.shnenglu.com/ivenher/comments/5812.htmlhttp://www.shnenglu.com/ivenher/articles/5812.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/5812.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/5812.htmlRMI鍙互鏄仛CORBA鐨凧ava鐗堟湰錛屼絾鐩告瘮杈冭岃█榪欐槸涓涓交閲忕駭鐨勭増鏈簡錛屽浜庢湇鍔″櫒鍜屽鎴風涓よ竟閮界敤Java鏉ュ疄鐜扮殑鍓嶆彁涓嬶紝榪欐槸涓涓潪甯稿ソ鐨勯夋嫨銆??XML:NAMESPACE PREFIX = O /?>

CORBA鍜孯MI鏈変竴涓叡鍚岀殑緙洪櫡錛氶氬父涓嶄細鍦ㄧ郴緇?0绔彛鎻愪緵鏈嶅姟錛屾墍浠ヨ繖鍦ㄥ叿澶囩綉緗楅槻鐏鐨勬儏鍐典笅鏄懼緱闈炲父琚姩銆?o:p>

XML-RPC

涓轟簡瑙e喅鍦ㄧ郴緇熺殑80绔彛鎻愪緵RPC鐨勬湇鍔★紝鑰屽張涓嶅獎鍝嶆鍦ㄦ墽琛岀殑WEB鏈嶅姟錛屼漢浠兂鍑轟簡鐢℉TTP鍗忚浼犺緭RPC鍖呯殑鍔炴硶銆傚浜庡嚑涔庢槸涓撻棬鐢ㄤ簬浼犺緭鏂囨湰鐨凥TTP鍗忚錛岃鍦ㄥ叾涓婁紶杈揜PC灝佸寘錛屾渶鏂逛究鐨勬柟娉曡帿榪囦簬鎶奟PC灝佸寘緙栫爜鎴愭枃鏈艦寮忊斺斾緥濡?a class="Channel_KeyLink" >XML鏂囦歡銆?o:p>

XML-RPC錛坔ttp://www.xml-rpc.com錛夋槸鐢辯編鍥経serLand鍏徃鎸囧畾鐨勪竴涓猂PC鍗忚銆傚畠灝哛PC淇℃伅灝佸寘緙栫爜涓?a class="Channel_KeyLink" >XML錛岀劧鍚庨氳繃HTTP浼犺緭灝佸寘錛涘畠鏄竴涓畝鍗曠殑RPC鍗忚錛屽彧鏀寔涓浜涘熀鏈暟鎹被鍨嬶紝涓嶆敮鎸佸璞℃ā鍨嬶紝榪欏娍蹇呮帲鑲樺湪瀹㈡埛绔拰鏈嶅姟鍣ㄧ涔嬮棿浼犺緭澶嶆潅鐨勫璞°?o:p>

SOAP

聽聽聽聽聽 SOAP鍗砈imple Object Access Protocol(綆鍗曞璞¤闂崗璁?鏄湪鍒嗘暎鎴栧垎甯冨紡鐨勭幆澧冧腑浜ゆ崲淇℃伅鐨勭畝鍗曠殑鍗忚錛屾槸涓涓熀浜?a class="Channel_KeyLink" >XML鐨勫崗璁傚畠鍏佽鎵鏈夌殑鎿嶄綔鍦?0绔彛涓婅繘琛岋紝浠庤屼篃緇曡繃浜嗛槻鐏絳夐棶棰樸?o:p>

銆銆SOAP瑙勮寖涓湁涓変釜鍩烘湰緇勬垚閮ㄥ垎錛歋OAP灝佽錛岀紪鐮佽鍒欙紝浠ュ強鍦ㄨ姹傚拰鍝嶅簲涔嬮棿鐨勪氦浜掓柟寮忋?o:p>

銆銆鐩墠宸叉湁鐨勫熀浜嶫AVA鎻愪緵SOAP鍔熻兘鐨勪駭鍝佹湁錛欰pache SOAP, IBM SOAP4J絳?o:p>

聽聽聽 瑕佷簡瑙f洿澶氬叧浜嶴OAP鐨勪俊鎭紝鍙互璁塊棶 http://www.w3.org/TR/SOAP



]]>
Rich Client鎶鏈畝浠?1錛堣漿錛?/title><link>http://www.shnenglu.com/ivenher/articles/5811.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Tue, 18 Apr 2006 04:36:00 GMT</pubDate><guid>http://www.shnenglu.com/ivenher/articles/5811.html</guid><wfw:comment>http://www.shnenglu.com/ivenher/comments/5811.html</wfw:comment><comments>http://www.shnenglu.com/ivenher/articles/5811.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ivenher/comments/commentRss/5811.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ivenher/services/trackbacks/5811.html</trackback:ping><description><![CDATA[浼犵粺鐨勫熀浜嶤/S鐨刉indows搴旂敤紼嬪簭鎬繪槸璁╁鎴烽潰涓寸潃涓浜涙劅瑙夊緢鏄笉鐖界殑闂錛屽錛氶儴緗查棶棰樸佸崌綰у洶闅俱佺淮鎶ゅ洶闅俱佸畨鍏ㄩ棶棰橈紝浣嗘槸瀹屽叏鐨刉EB寮鍙戠敱浜嶩TTP鍗忚鐨勬棤鐘舵佺壒鎬р斺旀祻瑙堝櫒鍜屾湇鍔″櫒鎬繪槸鍦ㄤ笉鍋滃湴鎵цRequest鍜孯esponse鏉ヨ惀閫犱竴縐嶆湁鐘舵併佹寔緇細璇濈殑鍋囪薄錛岃嚧浣夸漢浠張寮濮嬫鎭嬪叿鏈夋洿寮鴻繍綆楄兘鍔涖佹湰鍦板瓨鍌ㄨ兘鍔涘拰鏇寸ǔ瀹氱殑閫氳鑳藉姏鐨勫鎴風紼嬪簭浜嗐??xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.1pt; LINE-HEIGHT: 150%; mso-layout-grid-align: none">涓嶅緱涓嶈鐨勬槸錛屽甯︾綉緇滅殑鍑虹幇鍦ㄦ煇縐嶆剰涔変績鎴愪簡Rich Client鐨勮癁鐢熴傞氳繃蹇嵎鐨勫彂甯冿紝鐗瑰畾鐨勯氳鍗忚鏍囧噯錛孯ich Client姝d互涓嶅彲闃繪尅鐨勬皵鍔垮悜浜轟滑閲嶇幇鐫C/S妯″紡涓嬪鎴風紼嬪簭鐨勪紭鍔褲?o:p></o:p></p><p class="MsoNormal" style="MARGIN: 13pt 0cm; LINE-HEIGHT: 170%; mso-layout-grid-align: none; mso-pagination: lines-together; mso-outline-level: 1"><b>Rich Client</b><b>鐨勫彂甯?/b><b><o:p></o:p></b></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; mso-layout-grid-align: none">C/S鏋舵瀯涓嬶紝瀹㈡埛绔▼搴忓彂甯冧笌緇存姢涓鐩存瘮杈冨洶闅懼拰綣佺悙銆傚湪鐗堟湰鏇存柊浠ュ悗錛岄渶瑕佸瀹㈡埛鐨勫鎴風紼嬪簭榪涜閫愪釜涓嬭澆瀹夎鍙婇厤緗洿鏂幫紝榪欐槸涓涓綋鍔涙椿錛岃岃繖涔熶竴鐩存槸浣跨敤鎴峰ぇ閲忛夋嫨WEB紼嬪簭鐨勫洜绱犱箣涓銆?o:p></o:p></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; mso-layout-grid-align: none">鍦≧ich Client鏃朵唬錛岀敱浜庡甯︾綉緇滅殑渚垮埄錛屽湪瀹㈡埛绔敖灝介渶瑕佷粠鏈嶅姟鍣ㄧ涓嬭澆宸茬粡鏇存柊濂界殑紼嬪簭榪愯錛岃屼笉蹇呯悊浼氱箒鐞愮殑涓嬭澆銆佸畨瑁呭拰閰嶇疆鐨勮繃紼嬨?o:p></o:p></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; mso-layout-grid-align: none">榪欓噷涓嶅緱涓嶆彁Java鐨勬槸WebStart鎶鏈?o:p></o:p></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; mso-layout-grid-align: none">WebStart鏄鐢ㄦ埛鍙渶鍦ㄧ綉欏典笂鐐瑰嚮涓涓秴綰ч摼鎺ュ氨鑳借繍琛屼竴涓狫ava妗岄潰搴旂敤鐨勬妧鏈傚浜庝竴涓嫢鏈塛ebStart鑳藉姏鐨凧ava搴旂敤鏉ヨ錛岀敤鎴蜂嬌鐢ㄥ畠灝卞拰浣跨敤WEB搴旂敤涓鏍風殑綆鍗曪紝浣嗗畠鎵鍏鋒湁鐨勭晫闈㈣兘鍔涘拰鏈湴澶勭悊鑳藉姏鍗存槸WEB搴旂敤鏃犳硶鏈涘叾欏硅儗鐨勩?o:p></o:p></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; mso-layout-grid-align: none">鍏蜂綋鐨勫簲鐢ㄧ殑鎶鏈煡璇嗗彲浠ヤ粠<u>http://java.sun.com</u>涓鎵劇浉鍏蟲枃妗o紝榪欓噷涓嶄竴涓璧樿堪銆?o:p></o:p></p><p class="MsoNormal" style="MARGIN: 13pt 0cm; LINE-HEIGHT: 170%; mso-layout-grid-align: none; mso-pagination: lines-together; mso-outline-level: 1"><b>Rich Client</b><b>鐨勯氫俊鏈哄埗</b><b><o:p></o:p></b></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; mso-layout-grid-align: none">闄や簡蹇嵎鏂逛究鐨勫彂甯冨錛孯ich Client榪橀渶瑕佷笌鏈嶅姟鍣ㄧ寤虹珛涓縐嶅揩閫熴佸彲闈犮佸己澶с佹槗鐢ㄧ殑閫氫俊浜や簰鏈哄埗銆備絾鎴戜滑寮鍙慦EB搴旂敤鏃訛紝琛ㄧ幇灞傚拰涓氬姟鏈嶅姟灞傚父甯稿彧鏄悓涓涓繘紼嬩腑鐨勪笉鍚屽璞★紝瀹冧滑涔嬮棿鐨勪氦浜掍笉榪囨槸Java鐨勬柟娉曡皟鐢ㄨ屽凡錛屽綋琛ㄧ幇灞傞昏緫琚垎鍙戝埌涓栫晫鍚勫湴鐨勮綆楁満涓婏紝瀹㈡埛绔拰鏈嶅姟鍣ㄤ箣闂寸殑浜や簰灝辨垚浜嗕竴涓ぇ闂鈥斺斾粠鍓嶇殑C/S琚窐姹幫紝寰堝ぇ紼嬪害涓婂綊鍜庝簬socket閫氫俊鐨勫鏉傛с?o:p></o:p></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; mso-layout-grid-align: none">鐜板湪錛屽艦褰㈣壊鑹茬殑RPC錛堣繙紼嬭繃紼嬭皟鐢紝Remote Procedure Call錛夋妧鏈互鐙壒鐨勪紭鍔挎壆婕旇搗浜嗕俊浣跨殑瑙掕壊銆備互涓嬪垪涓懼嚑縐峈ich Client鍙互閲囩敤鐨勯氫俊鏈哄埗銆?o:p></o:p></p><p class="MsoNormal" style="MARGIN: 13pt 0cm; LINE-HEIGHT: 170%; mso-layout-grid-align: none; mso-pagination: lines-together; mso-outline-level: 1"><b>CORBA</b><b>鍜?/b><b>RMI<o:p></o:p></b></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%; mso-layout-grid-align: none">CORBA錛堥氱敤瀵硅薄璇鋒眰浠g悊浣撶郴緇撴瀯錛孋ommon Object Request Broker Architecture錛夋浘緇忕孩鏋佷竴鏃訛紝瀹冭兘澶熷吋瀹瑰悇縐嶆搷浣滅郴緇熷鉤鍙扮殑璇█錛屽己澶х殑鐨勫彲鎵╁睍鎬ф墍甯︽潵鐨勮礋闈㈠獎鍝嶅氨鏄疄鐜扮殑澶嶆潅鍜岀箒鐞愩傚鏋滄湇鍔″櫒绔拰瀹㈡埛绔兘閲囩敤Java寮鍙戯紝閭d箞CORBA鎵闇瑕佺殑璇█鏃犲叧鐨処DL灝卞畬鍏ㄥ彉鎴愪簡鐢昏泧娣昏凍銆傚綋鐒訛紝瀵逛簬闇瑕侀泦鎴愬ぇ閲忎紒涓氬唴閬楃暀鐨勭郴緇熺殑EAI錛堜紒涓氬簲鐢ㄩ泦鎴愶級欏圭洰涓紝瀹冧竴鐩存槸棣栭夌殑鎶鏈?/p><img src ="http://www.shnenglu.com/ivenher/aggbug/5811.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-04-18 12:36 <a href="http://www.shnenglu.com/ivenher/articles/5811.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍦―OS瀹炴ā寮忎笅鐩存帴瀛樺彇4GB鍐呭瓨http://www.shnenglu.com/ivenher/articles/1737.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Wed, 14 Dec 2005 03:57:00 GMThttp://www.shnenglu.com/ivenher/articles/1737.htmlhttp://www.shnenglu.com/ivenher/comments/1737.htmlhttp://www.shnenglu.com/ivenher/articles/1737.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/1737.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/1737.html        铏界劧鏈夎澶氫功綾嶅淇濇姢妯″紡浣滆В閲婏紝浣嗘病鏈変竴鏈兘綆鍗曟槑浜嗗湴瑙i噴娓呮錛屽啑闀跨儲鏉傜殑鏈璁╀漢鐪嬬潃鎯蟲墦鐬岀潯錛岀敋鑷寵繕鏈夎澶氱敤姹囩紪鍐欑殑(鍙兘鏍規湰涓嶈兘榪愯鐨?淇濇姢妯″紡璇曢獙紼嬪簭錛屼簨瀹炰笂鐢–璇█鏈韓灝卞彲浠ュ仛淇濇姢妯″紡鐨勮繘鍑哄伐浣溿?BR>       鎴戜滑鍙兘鐭ラ亾CPU涓婄數鍚庝粠ROM涓殑BIOS寮濮嬭繍琛岋紝鑰孖ntel鏂囨。鍗磋80x86CUP涓婄數鎬繪槸浠庢渶楂樺唴瀛樹笅16瀛楄妭寮濮嬫墽琛岋紝閭d箞BIOS鏄鍦ㄥ唴瀛樼殑鏈欏剁64K(FFFF0000H)榪樻槸1M涔嬩笅鐨?4K(F0000H)澶勫憿?浜嬪疄涓婂湪榪欎袱涓湴鏂歸兘鍚屾椂鍑虹幇(鍙敤鍚庨潰瀛樺彇4GB鍐呭瓨鐨勭▼搴忛獙璇?銆?BR>涓轟粈涔?涓轟簡寮勬竻妤氫互涓婇棶棰橈紝棣栧厛瑕佷簡瑙PU鏄浣曞鐞嗙墿鐞嗗湴鍧鐨?鐪熺殑鏄湪瀹炴ā寮忎笅鐢ㄦ瀵勫瓨鍣ㄥ乏縐?浣嶄笌鍋忕Щ閲忕浉鍔狅紝鍦ㄤ繚鎶ゆā寮忎笅鐢ㄦ鎻忚堪絎︿腑鐨勫熀鍦板潃鍔犲亸縐婚噺鑰屼袱鑰呮槸姣棤鍏寵仈鐨勫悧?絳旀鏄袱鑰呭叾瀹炴槸涓鏍風殑銆傚綋Intel鎶?0286鎺ㄥ嚭鏃跺叾鍦板潃絀洪棿鍙樻垚浜?4浣嶏紝浠?086鐨?0浣嶅埌24浣嶏紝鍗佸垎鑷劧鍦拌鍔犲ぇ孌靛瘎瀛樺櫒鎵嶈錛屽疄闄呬笂瀹冧滑閮借鍔犲ぇ浜嗭紝鍙槸鐢變簬淇濇姢鐨勫師鍥犲姞澶х殑閮ㄥ垎娌℃湁琚▼搴忕湅瑙侊紝鍒頒簡80386涔嬪悗鍦板潃鍙堜粠24浣嶅姞澶у埌32浣?80386SX鏄?4浣?銆傛暣涓瀵勫瓨鍣ㄥ涓嬪浘鎵紺猴細
@@12A08400.GIF;鍥?@@
鍦?086涓瑿PU鍙湁鈥滅湅寰楄閮ㄥ垎鈥濓紝浠庤屼篃鐩存帴鍙備笌浜嗗湴鍧褰㈡垚榪愮畻錛屼絾鍦?0286涔嬪悗錛屽湪鈥滅湅涓嶈閮ㄥ垎鈥濅腑宸茬粡鍖呭惈浜嗗湴鍧鍊鹼紝鈥滅湅寰楄閮ㄥ垎鈥濆氨閫鍖栦負鍙槸涓涓爣鍙峰啀涔熶笉鐢ㄥ弬涓庡湴鍧褰㈡垚榪愮畻浜嗐傚湴鍧鐨勫艦鎴愭繪槸浠庘滀笉鍙湅瑙侀儴鍒嗏濆彇鍑哄熀鍧鍊間笌鍋忕Щ鐩稿姞褰㈡垚鍦板潃銆備篃灝辨槸璇村湪瀹炴ā寮忎笅褰撲竴涓瀵勫瓨鍣ㄨ瑁呭叆涓涓兼椂錛屸滅湅涓嶈閮ㄥ垎鈥濈殑鐣岄檺琚鎴怓FFFH錛屽熀鍧閮ㄥ垎鎵嶆槸瑕佽鍏ュ煎乏縐?浣嶏紝灞炴ч儴鍒嗚鎴?6浣?鐗規潈綰с傝繖涓繃紼嬩笌淇濇姢妯″紡鏃惰鍏ヤ竴涓瀛樺櫒鏄悓鐞嗙殑錛屽彧鏄繚鎶ゆā寮忕殑鈥滀笉鍙閮ㄥ垎鈥濇槸浠庢弿榪拌〃涓彇鍊鹼紝鑰屽疄妯″紡鏄竴濂楀浐瀹氱殑榪囩▼銆?BR>瀵逛簬CPU鍦ㄥ艦鎴愬湴鍧鏃訛紝鏄病鏈夊疄妯″紡涓庝繚鎶ゆā寮忎箣鍒嗙殑錛屽畠鍙鐢ㄥ熀鍧(鈥滀笉鍙閮ㄥ垎鈥?鍘誨姞涓婂亸縐婚噺銆傚疄妯″紡涓庝繚鎶ゆā寮忕殑宸埆瀹為檯涓婂彧鏄繚鎶ゅ鐞嗛儴浠舵槸鍚﹀伐浣滃緱鏇寸簿紜屽凡錛屾瘮濡備笉鍏佽浠g爜孌電殑鍐欏叆銆傚疄妯″紡涓嬬殑孌靛瘎瀛樿鍏ユ湁鍥哄畾鐨勫艦鎴愬姙娉曚粠鑰屼篃灝變笉闇瑕佷繚鎶ゆā寮忕殑鈥滄弿榪扮鈥濅簡錛屽洜姝や繚鎸佷簡涓?086/8088鐨勫吋瀹規с傝屸滄弿榪扮鈥濅篃鍙槸涓轟簡瑁呭叆孌靛瘎瀛樺櫒鐨勨滀笉鍙閮ㄥ垎鈥濊岃鐨勩?BR>浠庝笂闈㈢殑鈥滄暣涓瀵勫瓨鍣ㄢ濆彲瑙丆PU鐨勫湴鍧褰㈡垚涓庘滅湅寰楄閮ㄥ垎鈥濈殑褰撳墠鍊兼鏃犲叧緋伙紝榪欎篃瑙i噴浜嗕負浠涔堝湪鍒氳繘鍏ヤ繚鎶ゆā寮忔椂鍚庨潰鐨勪唬鐮佷緷鐒惰姝g‘鍦拌繍琛岃岃繖鏃朵唬鐮佹瀵勫瓨鍣–S鐨勫煎嵈榪樻槸榪涘叆淇濇姢妯″紡鍓嶇殑瀹炴ā寮忓鹼紝鎴栬呬粠淇濇姢妯″紡鍥炲埌瀹炴ā寮忔椂浠g爜孌礐S琚敼鍙樹箣鍓嶇▼搴忔槸姝e父鍦板伐浣滐紝鑰屼笉浼氣滅獊鍙樷濆埌CS宸︾Щ4浣嶇殑鍦板潃涓婂幓錛屾瘮濡傚湪淇濇姢妯″紡鏃禖S鏄?8H鐨勯夋嫨鍣紝鍒頒簡瀹炴ā寮忔椂CS榪樻槸08H浣嗗湴鍧涓嶄細紿佺劧鍙樻垚80H鍔犱笂鍋忔閲忎腑鍘匯傚洜涓哄湴鍧鐨勫艦鎴愪笉鐞嗕細孌靛瘎瀛樺櫒鈥滅湅寰楄閮ㄥ垎鈥濈殑褰撳墠鍊鹼紝榪欎竴涓煎彧鏄湪琚鍏ユ椂瀵笴PU鏈夌敤銆?BR>鍦板潃鐨勫艦鎴愪笌CPU鐨勫伐浣滄ā寮忔棤鍏籌紝涔熷氨鏄瀹炴ā寮忎笌0鐗規潈綰т繚鎶ゆā寮忎笉鍒嗛〉鏃舵槸涓妯′竴鏍風殑銆傛槑鐧戒簡榪欎竴鏈虹悊錛屽湪瀹炴ā寮忎笅涓鏍峰彲浠ュ鐞嗛氬父琚涓哄彧鏈夊湪淇濇姢妯″紡鎵嶈兘鍋氱殑浜嬶紝姣斿璁塊棶鏁翠釜鏈哄櫒鐨勫唴瀛樸傚彲浠ヤ笉蹇呯悊浼氫繚鎶ゆā寮忎笅鐨勪紬澶氭湳璇紝鎴栬呮洿鏄撲簬鐞嗚В錛屽閫夋嫨鍣ㄥ氨鏄滅湅寰楄閮ㄥ垎鈥濓紝鎻忚堪絎︽槸涓轟簡瑁呭叆鈥滀笉鍙閮ㄥ垎鈥濊岃鐨勩?BR>浣滀負楠岃瘉CPU鐨勮繖縐嶆満鐞嗭紝榪欓噷鍐欎簡涓涓疄妯″紡涓嬭闂?GB鍐呭瓨鐨凜紼嬪簭銆傛湁涓浜涗功綾嶄篃浠嬬粛鏈夊悓鏍峰姛鑳界殑姹囩紪紼嬪簭錛屼絾瀹冧滑閮介敊璇湴璁や負鏄埄鐢?0386鑺墖鐨勮璁$枏婕忋傚疄闄呬笂Intel鏈韓灝卞湪浣跨敤榪欑鍔炴硶錛屼嬌寰桟PU涓婄數鏃惰兘浠嶧FFFFFF0H澶勫紑濮嬬涓鏉℃寚浠わ紝榪欑鎶鏈湪286涔嬪悗鐨勬瘡涓鍙版満鍣ㄦ瘡涓嬈″喎鍚姩鏃墮兘浣跨敤錛屽彧鏄垜浠笉鐭ラ亾緗簡銆侰PU涓婄數涔熸暣涓唬鐮佹瀵勫瓨鍣ㄦ槸榪欐牱鐨勶細
@@12A08401.GIF;鍥?@@
EIP=0000FFF0H
榪欐牱CS鈭禘IP褰㈡垚浜咶FFFFFF0H鐨勭墿鐞嗗湴鍧錛屽綋CPU榪涜涓嬈¤繙璺寵漿閲嶆柊瑁呭叆CS鏃訛紝鍩哄潃灝卞彉浜嗐?BR>涓轟簡璁塊棶4G鍐呭瓨絀洪棿錛屽繀欏繪湁涓涓瀵勫瓨鍣ㄧ殑鈥滀笉鍙閮ㄥ垎鈥濈殑鐣岄檺涓?G-1錛屽熀鍧涓?錛岃繖鏍峰氨鍖呭惈浜?GB鍐呭瓨錛屼笉蹇呯悊浼氬彲瑙侀儴鍒嗙殑鍊箋傛樉鐒惰璁╂瀵勫瓨鍣ㄥ湪瀹炴ā寮忎笅鐩存帴瑁呭叆榪欎簺鍊兼槸涓嶅彲鑳界殑銆傚敮涓鐨勫姙娉曟槸璁〤PU榪涘叆涓浼氬効淇濇姢妯″紡鍦ㄨ鍏ヤ簡孌靛瘎瀛樺櫒涔嬪悗椹笂鍥炲埌瀹炴ā寮忋?BR>榪涘叆淇濇姢妯″紡鍗佸垎綆鍗曪紝鍙寤哄ソGDT鎶奀RO瀵勫瓨鍣ㄧ殑浣?緗笂1錛孋PU灝卞湪淇濇姢妯″紡浜嗭紝浠庡墠闈㈡墍鍒嗘瀽CPU鍦板潃褰㈡垚鏈虹悊鍙煡錛岃繖鏃朵笉蹇呯悊浼氬瘎瀛樺櫒鐨勨滅湅寰楄閮ㄥ垎鈥濆兼槸鍚﹀悎娉曪紝鍚勭孌靛瘎瀛樺櫒鏄竴鏍峰彲鐢ㄧ殑錛屽氨鍍忔病榪涗繚鎶ゆā寮忎竴鏍楓傚湪鎶婁竴涓寘鍚湁4GB鍦板潃絀洪棿鐨勫艱鍏ユ煇涓瀵勫瓨鍣ㄤ箣鍚庡氨鍙繑鍥炲疄妯″紡銆?BR>棰勫厛鍙緩濂紾DT濡備笅錛?BR>unsigned long GDT-Table[]={0,0, //絀烘弿榪扮錛屽繀欏諱負闆?x0000FFFF,0xCF9A00, //32浣嶅鉤闈㈠紡浠g爜孌?x0000FFFF,0xCF9200 } , //32浣嶅鉤闈㈠紡鏁版嵁孌靛彧鏄負浜嗚闂暟鎹殑璇濆彧瑕?涓狦DT灝辮凍澶熶簡錛屽洜涓哄茍娌℃湁閲嶈浠g爜孌碉紝榪欓噷緇欏嚭3涓狦DT鍙槸涓轟簡瀹屾暣鎬с?BR>閫氬父鍦ㄨ繘鍏ヤ繚鎶ゆā寮忔椂瑕佸叧闂墍鏈夌殑涓柇錛屾妸IDTR鐨勭晫闄愯緗負0錛孋PU鑷姩鍏抽棴鎵鏈変腑鏂紝鍖呮嫭NMI錛岃繑鍥炲疄妯″紡鍚庢仮澶岻DTR騫跺紑涓柇銆?BR>鍙﹀A20鍦板潃綰跨殑鎺у埗瀵逛簬姝g‘璁塊棶鏁翠釜鍐呭瓨涔熷緢閲嶈錛屽湪榪涘叆淇濇姢妯″紡鍓嶈璁?042鎵撳紑A20鍦板潃綰褲?BR>鍦ㄨ繖涓緥瀛愰噷FS孌靛瘎瀛樺櫒璁炬垚鍙闂?GB鍐呭瓨鐨勫熀鍧鍜岀晫闄愶紝鐢變簬鍦―OS涓緢灝戞湁紼嬪簭浼氱敤鍒癎S銆丗S榪欎袱涓?86澧炲姞鐨勬瀵勫瓨鍣紝褰撹璇誨啓4GB鑼冨洿涓殑浠諱竴涓湴鏂歸兘鍙氳繃FS孌墊潵杈懼埌錛岀洿鍒癋S鍦ㄥ疄妯″紡涓嬭閲嶈鍏ュ啿鎺変負姝€?BR>榪欎釜渚嬪瓙鍦?86SX銆?86DX銆?86涓婇兘榪愯閫氳繃銆備緥瀛愰噷鍔犳湁鍗佸垎璇︾粏鐨勬敞閲婏紝鐢變簬榪欎竴紼嬪簭鏄敤BC 3.1緙栬瘧榪炴帴鐨勶紝鑰屽叾榪炴帴鍣ㄤ笉鑳戒負DOS紼嬪簭澶勭悊32浣嶅瘎瀛樺櫒錛屾墍浠ョ洿鎺ュ湪浠g爜涓姞鍏ユ搷浣滅爜鍓嶇紑0x66鍜屽湴鍧鍓嶇紑0x67錛屼互渚胯DOS瀹炴ā寮忎笅鐨?6浣嶇▼搴忓彲鐢?2浣嶅瘎瀛樺櫒鍜屽湴鍧銆傜▼搴忕殑鍙寵竟浠ユ敞閲婂艦寮忕粰鍑虹瓑鏁堢殑32浣嶆寚浠ゃ傝娉ㄦ剰16浣嶇殑鎸囦護涓璵ov al, byte ptr [BX]鐨勬寚浠ょ爜姝eソ鏄?2浣嶇殑鎸囦護mov al, byte ptr[EDI]銆?BR>璇昏呭彲鐢ㄨ繖涓▼搴忛獙璇丅IOS鏄惁鍚屾椂鍦ㄤ袱涓尯鍩熷嚭鐜般傚鏋滄湁綰挎у畾鍧鑳藉姏鐨刅ESA鏄劇ず鍗?濡俆VGA9440)榪樺彲榪涗竴姝ラ獙璇佺嚎鎬ф樉紺虹紦鍐插尯鍦?MB涔嬩笂鐨勫伐浣滄儏鍐點?BR>#include <dos.h>
unsigned long GDT-Table[]=
{0,0, //NULL - 00H
0x0000FFFF,0x00CF9A00, //Code32 - 08h Base=0 Limit=4G-1 Size=4G
0x0000FFFF,0x00CF9200 //Data32 - 10h Base=0 Limit=4G-1 Size=4G
};
unsigned char OldIDT [6]={0}; //Save The IDTR before Enter Protect Mode.
unsigned char pdescr-tmp [6]={0}; //NULL The IDTR s Limit=0 CPU will
// disable all Interrupts, include NMI.
#define KeyWait() {while(inportb(0x64) &2);}
void A20Enable(void)
{
keyWait ();
outportb(0x64,0xD1);
KeyWait();
outportb(0x60,0xDF); //Enable A20 with 8042.
KeyWait();
outportb(0x64,0xFF);
KeyWait ();
}
void LoadFSLimit4G(void)
{
A20Enable (); //Enable A20
//***
Disable ints & Null IDT
//***
asm {
CLI //Disable inerrupts
SIDT OldIDT //Save OLD IDTR
LIDT pdescr-tmp //Set up empty IDT.Disable any interrupts,
} // Include NMI.
//***
Lodd GDTR
//***
asm{ // The right Code is Real, But BC++ s Linker NOT
// Work with 32bits Code.
db 0x66 //32 bit Operation Prefix in 16 Bit DOS.
MOV CX,DS //MOV ECX,DS
db 0x66 //Get Data segment physical Address
SHL CX,4 //SHL ECX,4
MOV word ptr pdescr-tmp [0],(3*8-1)
//MOV word ptr pdescr-tmp [0], (3*8-1)
db 0x66
XOR AX,AX //XOR EAX,EAX
MOV AX,offset GDT-Table
// MOV AX,offset GDT-Table
db 0x66
ADD AX,CX //ADD EAX,ECX
MOV word ptr pdescr-tmp [2], AX
//GDTR Base low16 bits
db 0x66
SHR AX,16 //SHR EAX,16
MOV word ptr pdescr-tmp [4],AX
//GDTR Base high16 bits
LGDT pdescr-tmp //Load GDTR
}
//****
//* Enter 32 bit Flat Protected Mode
//****
asm{
mov DX,0x10 // The Data32 Selector
db 0x66,0x0F,0x20,0xC0 // MOV EAX,CR0
db 0x66
MOV BX,AX // MOV EBX,EAX
OR AX,1
db 0x66,0x0F,0x22,0xC0
//MOV CRO,EAX // Set Protection enable bit
JMP Flsuh
} //Clear machine perform cache.
flush: // Now In Flat Mode, But The CS is Real Mode Value.
asm { //And it s attrib is 16Bit Code Segment.
db 0x66
MOV AX,BX //MOV EAX,EBX
db 0x8E,0xE2 //MOV FS,DX
//Load FS Base=0 Size=4G now
db 0x66,0x0F,0x22,0xC0 //MOV CRO,EAX
//Return Real Mode.
LIDT OldIDT //LIDT OldIDT //Restore IDTR
STI // STI //Enable INTR
}
}
unsigned char ReadByte (unsigned long Address)
{
asm db 0x66
asm mov di,word ptr Address // MOV EDI, Address
asm db 0x67 //32 bit Address Prefix
asm db 0x64 //FS:
asm mov al,byte ptr [BX] // =MOV AL, FS: [EDI]
return -AL;
}
unsigned char WriteByte(unsigned Long Address)
{
asm db 0x66
asm mov di,word ptr Address //MOV EDI, Address
asm db 0x67 //32 bit Address Prefix
asm db 0x64 //FS:
asm mov byte ptr [BX],al //=MOV FS: [EDI],AL
return -AL;
}
//////// Don t Touch Above Code ///
# include <stdio, h>
void Dump4G (unsigned long Address)
{
int i;
int j;
for (i=0; i<20; i++)
{
printf (鈥?081X: 鈥? (Address+i*16));
for (j=0; j<16;j++)
printf ("% 02X" ,ReadByte (Address+i*16+j));
printf (" ");
for (j=0;j<16;j++)
{
if (ReadByte (Address+i*16+j) <0x20) printf (" . ");
else printf (" %C ", ReadByte (Address+i*16+j));
}
printf (" ");
}
}
main ()
{
unsigned long Address=0;
unsigned long tmp;
LoadFSLimit4G ();
printf ("====Designed By Southern. 1995.7.17==== ");
printf (" Now you can Access The Machine All 4G Memory. ");
printf (" Input the Start Memory Physical to DUMP. ");
printf (" Press D to Cuntinue DUMP, 0 to End & Quit, ");
do {
printf ("-");
scanf ("%IX", &tmp);
if (tmp==0x0d) Address+=(20*16);
else Address=tmp;
Dump4G (Address);
}while (Address !=0);
return 0;
}

(浣滆呭湴鍧錛氱彔嫻峰法浜洪泦鍥㈢數鑴戞帓鐗堝叕鍙?


]]>
Win2k鍐呭瓨鍒嗛〉鏈哄埗 (涓)- -http://www.shnenglu.com/ivenher/articles/1735.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Wed, 14 Dec 2005 03:30:00 GMThttp://www.shnenglu.com/ivenher/articles/1735.htmlhttp://www.shnenglu.com/ivenher/comments/1735.htmlhttp://www.shnenglu.com/ivenher/articles/1735.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/1735.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/1735.html

鍩烘湰姒傚康

    Windows 2000 浣跨敤鍩轟簬鍒嗛〉鏈哄埗鐨勮櫄鎷熷唴瀛樸傛瘡涓繘紼嬫湁4GB鐨勮櫄鎷熷湴鍧絀洪棿銆傚熀浜庡垎欏墊満鍒訛紝榪?GB鍦板潃絀洪棿鐨勪竴浜涢儴鍒嗚鏄犲皠浜嗙墿鐞嗗唴瀛橈紝涓浜涢儴鍒嗘槧灝勭‖鐩樹笂鐨勪氦鎹㈡枃浠訛紝涓浜涢儴鍒嗕粈涔堜篃娌℃湁鏄犲皠銆傜▼搴忎腑浣跨敤鐨勯兘鏄?GB鍦板潃絀洪棿涓殑铏氭嫙鍦板潃銆傝岃闂墿鐞嗗唴瀛橈紝闇瑕佷嬌鐢ㄧ墿鐞嗗湴鍧銆?BR>
涓嬮潰鎴戜滑鐪嬬湅浠涔堟槸鐗╃悊鍦板潃錛屼粈涔堟槸铏氭嫙鍦板潃銆?BR>
鐗╃悊鍦板潃 (physical address): 鏀懼湪瀵誨潃鎬葷嚎涓婄殑鍦板潃銆傛斁鍦ㄥ鍧鎬葷嚎涓婏紝濡傛灉鏄錛岀數璺牴鎹繖涓湴鍧姣忎綅鐨勫煎氨灝嗙浉搴斿湴鍧鐨勭墿鐞嗗唴瀛樹腑鐨勬暟鎹斁鍒版暟鎹葷嚎涓紶杈撱傚鏋滄槸鍐欙紝鐢佃礬鏍規嵁榪欎釜鍦板潃姣忎綅鐨勫煎氨灝嗙浉搴斿湴鍧鐨勭墿鐞嗗唴瀛樹腑鏀懼叆鏁版嵁鎬葷嚎涓婄殑鍐呭銆傜墿鐞嗗唴瀛樻槸浠ュ瓧鑺?8浣?涓哄崟浣嶇紪鍧鐨勩?BR>
铏氭嫙鍦板潃 (virtual address): 4G铏氭嫙鍦板潃絀洪棿涓殑鍦板潃錛岀▼搴忎腑浣跨敤鐨勯兘鏄櫄鎷熷湴鍧銆?BR>
濡傛灉CPU瀵勫瓨鍣ㄤ腑鐨勫垎欏墊爣蹇椾綅琚緗紝閭d箞鎵ц鍐呭瓨鎿嶄綔鐨勬満鍣ㄦ寚浠ゆ椂錛孋PU浼氳嚜鍔ㄦ牴鎹〉鐩綍鍜岄〉琛ㄤ腑鐨勪俊鎭紝鎶婅櫄鎷熷湴鍧杞崲鎴愮墿鐞嗗湴鍧錛屽畬鎴愯鎸囦護銆傛瘮濡?mov eax,004227b8h 錛岃繖鏄妸鍦板潃004227b8h澶勭殑鍊艱祴緇欏瘎瀛樺櫒鐨勬眹緙栦唬鐮侊紝004227b8榪欎釜鍦板潃灝辨槸铏氭嫙鍧銆侰PU鍦ㄦ墽琛岃繖琛屼唬鐮佹椂錛屽彂鐜板瘎瀛樺櫒涓殑鍒嗛〉鏍囧織浣嶅凡緇忚璁懼畾錛屽氨鑷姩瀹屾垚铏氭嫙鍦板潃鍒扮墿鐞嗗湴鍧鐨勮漿鎹紝浣跨敤鐗╃悊鍦板潃鍙栧嚭鍊鹼紝瀹屾垚鎸囦護銆傚浜嶪ntel CPU 鏉ヨ錛屽垎欏墊爣蹇椾綅鏄瘎瀛樺櫒CR0鐨勭31浣嶏紝涓?琛ㄧず浣跨敤鍒嗛〉錛屼負0琛ㄧず涓嶄嬌鐢ㄥ垎欏點傚浜庡垵濮嬪寲涔嬪悗鐨?Win2k 鎴戜滑瑙傚療 CR0 錛屽彂鐜扮31浣嶄負1銆傝〃鏄嶹in2k鏄嬌鐢ㄥ垎欏電殑銆?BR>
    浣跨敤浜嗗垎欏墊満鍒朵箣鍚庯紝4G鐨勫湴鍧絀洪棿琚垎鎴愪簡鍥哄畾澶у皬鐨勯〉錛屾瘡涓欏墊垨鑰呰鏄犲皠鍒扮墿鐞嗗唴瀛橈紝鎴栬呰鏄犲皠鍒扮‖鐩樹笂鐨勪氦鎹㈡枃浠朵腑錛屾垨鑰呮病鏈夋槧灝勪換浣曚笢瑗褲傚浜庝竴鑸▼搴忔潵璇達紝4G鐨勫湴鍧絀洪棿錛屽彧鏈変竴灝忛儴鍒嗘槧灝勪簡鐗╃悊鍐呭瓨錛屽ぇ鐗囧ぇ鐗囩殑閮ㄥ垎鏄病鏈夋槧灝勪換浣曚笢瑗褲傜墿鐞嗗唴瀛樹篃琚垎欏碉紝鏉ユ槧灝勫湴鍧絀洪棿銆傚浜?2bit鐨刉in2k錛岄〉鐨勫ぇ灝忔槸4K瀛楄妭銆侰PU鐢ㄦ潵鎶婅櫄鎷熷湴鍧杞崲鎴愮墿鐞嗗湴鍧鐨勪俊鎭瓨鏀懼湪鍙仛欏電洰褰曞拰欏佃〃鐨勭粨鏋勯噷銆?BR>
    鐗╃悊鍐呭瓨鍒嗛〉錛屼竴涓墿鐞嗛〉鐨勫ぇ灝忎負4K瀛楄妭錛岀0涓墿鐞嗛〉浠庣墿鐞嗗湴鍧 0x00000000 澶勫紑濮嬨傜敱浜庨〉鐨勫ぇ灝忎負4KB錛屽氨鏄?x1000瀛楄妭錛屾墍浠ョ1欏典粠鐗╃悊鍦板潃 0x00001000 澶勫紑濮嬨傜2欏典粠鐗╃悊鍦板潃 0x00002000 澶勫紑濮嬨傚彲浠ョ湅鍒扮敱浜庨〉鐨勫ぇ灝忔槸4KB錛屾墍浠ュ彧闇瑕?2bit鐨勫湴鍧涓珮20bit鏉ュ鍧鐗╃悊欏點?/FONT>

    欏佃〃錛屼竴涓〉琛ㄧ殑澶у皬涓?K瀛楄妭錛屾斁鍦ㄤ竴涓墿鐞嗛〉涓傜敱1024涓?瀛楄妭鐨勯〉琛ㄩ」緇勬垚銆傞〉琛ㄩ」鐨勫ぇ灝忎負4涓瓧鑺?32bit)錛屾墍浠ヤ竴涓〉琛ㄤ腑鏈?024涓〉琛ㄩ」銆傞〉琛ㄤ腑鐨勬瘡涓欏圭殑鍐呭錛堟瘡欏?涓瓧鑺?32bit錛夐珮20bit鐢ㄦ潵鏀句竴涓墿鐞嗛〉鐨勭墿鐞嗗湴鍧錛屼綆12bit鏀劇潃涓浜涙爣蹇椼?BR>
    欏電洰褰曪紝涓涓〉鐩綍澶у皬涓?K瀛楄妭錛屾斁鍦ㄤ竴涓墿鐞嗛〉涓傜敱1024涓?瀛楄妭鐨勯〉鐩綍欏圭粍鎴愩傞〉鐩綍欏圭殑澶у皬涓?涓瓧鑺?32bit)錛屾墍浠ヤ竴涓〉鐩綍涓湁1024涓〉鐩綍欏廣傞〉鐩綍涓殑姣忎竴欏圭殑鍐呭錛堟瘡欏?涓瓧鑺傦級楂?0bit鐢ㄦ潵鏀句竴涓〉琛紙欏佃〃鏀懼湪涓涓墿鐞嗛〉涓級鐨勭墿鐞嗗湴鍧錛屼綆12bit鏀劇潃涓浜涙爣蹇椼?/FONT>

    瀵逛簬x86緋葷粺錛岄〉鐩綍鐨勭墿鐞嗗湴鍧鏀懼湪CPU鐨凜R3瀵勫瓨鍣ㄤ腑銆?BR>
    CPU鎶婅櫄鎷熷湴鍧杞崲鎴愮墿鐞嗗湴鍧錛?BR>    涓涓櫄鎷熷湴鍧錛屽ぇ灝?涓瓧鑺?32bit)錛屽寘鍚潃鎵懼埌鐗╃悊鍦板潃鐨勪俊鎭紝鍒嗕負3涓儴鍒嗭細絎?2浣嶅埌絎?1浣嶈繖10浣嶏紙鏈楂?0浣嶏級鏄〉鐩綍涓殑绱㈠紩錛岀12浣嶅埌絎?1浣嶈繖10浣嶆槸欏佃〃涓殑绱㈠紩錛岀0浣嶅埌絎?1浣嶈繖12浣嶏紙浣?2浣嶏級鏄〉鍐呭亸縐匯傚浜庝竴涓杞崲鎴愮墿鐞嗗湴鍧鐨勮櫄鎷熷湴鍧錛孋PU棣栧厛鏍規嵁CR3涓殑鍊鹼紝鎵懼埌欏電洰褰曟墍鍦ㄧ殑鐗╃悊欏點傜劧鍚庢牴鎹櫄鎷熷湴鍧鐨勭22浣嶅埌絎?1浣嶈繖10浣嶏紙鏈楂樼殑10bit)鐨勫間綔涓虹儲寮曪紝鎵懼埌鐩稿簲鐨勯〉鐩綍欏?PDE,page directory entry),欏電洰褰曢」涓湁榪欎釜铏氭嫙鍦板潃鎵瀵瑰簲欏佃〃鐨勭墿鐞嗗湴鍧銆傛湁浜嗛〉琛ㄧ殑鐗╃悊鍦板潃錛屾牴鎹櫄鎷熷湴鍧鐨勭12浣嶅埌絎?1浣嶈繖10浣嶇殑鍊間綔涓虹儲寮曪紝鎵懼埌璇ラ〉琛ㄤ腑鐩稿簲鐨勯〉琛ㄩ」(PTE,page table entry),欏佃〃欏逛腑灝辨湁榪欎釜铏氭嫙鍦板潃鎵瀵瑰簲鐗╃悊欏電殑鐗╃悊鍦板潃銆傛渶鍚庣敤铏氭嫙鍦板潃鐨勬渶浣?2浣嶏紝涔熷氨鏄〉鍐呭亸縐伙紝鍔犱笂榪欎釜鐗╃悊欏電殑鐗╃悊鍦板潃錛屽氨寰楀埌浜嗚铏氭嫙鍦板潃鎵瀵瑰簲鐨勭墿鐞嗗湴鍧銆?/FONT>

    涓涓〉鐩綍鏈?024欏癸紝铏氭嫙鍦板潃鏈楂樼殑10bit鍒氬ソ鍙互绱㈠紩1024欏癸紙2鐨?0嬈℃柟絳変簬1024錛夈備竴涓〉琛ㄤ篃鏈?024欏癸紝铏氭嫙鍦板潃涓棿閮ㄥ垎鐨?0bit錛屽垰濂界儲寮?024欏廣傝櫄鎷熷湴鍧鏈浣庣殑12bit錛?鐨?2嬈℃柟絳変簬4096錛夛紝浣滀負欏靛唴鍋忕Щ錛屽垰濂藉彲浠ョ儲寮?KB錛屼篃灝辨槸涓涓墿鐞嗛〉涓殑姣忎釜瀛楄妭銆?/FONT>

    涓涓櫄鎷熷湴鍧杞崲鎴愮墿鐞嗗湴鍧鐨勮綆楄繃紼嬪氨鏄紝澶勭悊鍣ㄩ氳繃CR3鎵懼埌褰撳墠欏電洰褰曟墍鍦ㄧ墿鐞嗛〉錛屽彇铏氭嫙鍦板潃鐨勯珮10bit,鐒跺悗鎶婅繖10bit鍙崇Щ2bit錛堝洜涓烘瘡涓〉鐩綍欏?涓瓧鑺傞暱錛屽彸縐?bit鐩稿綋浜庝箻4錛夊緱鍒板湪璇ラ〉涓殑鍦板潃錛屽彇鍑鴻鍦板潃澶凱DE錛?涓瓧鑺傦級錛屽氨鎵懼埌浜嗚铏氭嫙鍦板潃瀵瑰簲欏佃〃鎵鍦ㄧ墿鐞嗛〉錛屽彇铏氭嫙鍦板潃絎?2浣嶅埌絎?1浣嶈繖10浣嶏紝鐒跺悗鎶婅繖10bit鍙崇Щ2bit錛堝洜涓烘瘡涓〉琛ㄩ」4涓瓧鑺傞暱錛屽彸縐?bit鐩稿綋浜庝箻4錛夊緱鍒板湪璇ラ〉涓殑鍦板潃錛屽彇鍑鴻鍦板潃澶勭殑PTE錛?涓瓧鑺傦級錛屽氨鎵懼埌浜嗚铏氭嫙鍦板潃瀵瑰簲鐗╃悊欏電殑鍦板潃錛屾渶鍚庡姞涓?2bit鐨勯〉鍐呭亸縐誨緱鍒頒簡鐗╃悊鍦板潃銆?BR>
    32bit鐨勪竴涓寚閽堬紝鍙互瀵誨潃鑼冨洿0x00000000-0xFFFFFFFF,4GB澶у皬銆備篃灝辨槸璇翠竴涓?2bit鐨勬寚閽堝彲浠ュ鍧鏁翠釜4GB鍦板潃絀洪棿鐨勬瘡涓涓瓧鑺傘備竴涓〉琛ㄩ」璐熻矗4K鐨勫湴鍧絀洪棿鍜岀墿鐞嗗唴瀛樼殑鏄犲皠錛屼竴涓〉琛?024欏癸紝涔熷氨鏄礋璐?024*4k=4M鐨勫湴鍧絀洪棿鐨勬槧灝勩備竴涓〉鐩綍欏癸紝瀵瑰簲涓涓〉琛ㄣ備竴涓〉鐩綍鏈?024欏癸紝涔熷氨瀵瑰簲鐫1024涓〉琛紝姣忎釜欏佃〃璐熻矗4M鍦板潃絀洪棿鐨勬槧灝勩?024涓〉琛ㄨ礋璐?024*4M=4G鐨勫湴鍧絀洪棿鏄犲皠銆備竴涓繘紼嬫湁涓涓〉鐩綍銆傛墍浠ヤ互欏典負鍗曚綅錛岄〉鐩綍鍜岄〉琛ㄥ彲浠ヤ繚璇?G鐨勫湴鍧絀洪棿涓殑姣忛〉鍜岀墿鐞嗗唴瀛樼殑鏄犲皠銆?BR>
    姣忎釜榪涚▼閮芥湁鑷繁鐨?G鍦板潃絀洪棿錛屼粠 0x00000000-0xFFFFFFFF 銆傞氳繃姣忎釜榪涚▼鑷繁鐨勪竴濂楅〉鐩綍鍜岄〉琛ㄦ潵瀹炵幇銆傜敱浜庢瘡涓繘紼嬫湁鑷繁鐨勯〉鐩綍鍜岄〉琛紝鎵浠ユ瘡涓繘紼嬬殑鍦板潃絀洪棿鏄犲皠鐨勭墿鐞嗗唴瀛樻槸涓嶄竴鏍風殑銆備袱涓繘紼嬬殑鍚屼竴涓櫄鎷熷湴鍧澶勶紙濡傛灉閮芥湁鐗╃悊鍐呭瓨鏄犲皠錛夌殑鍊間竴鑸槸涓嶅悓鐨勶紝鍥犱負浠栦滑寰寰瀵瑰簲涓嶅悓鐨勭墿鐞嗛〉銆?BR>
    4G鍦板潃絀洪棿涓綆2G錛?x00000000-0x7FFFFFFF 鏄敤鎴峰湴鍧絀洪棿錛?G鍦板潃絀洪棿涓珮2G錛?BR>0x80000000-0xFFFFFFFF 鏄郴緇熷湴鍧絀洪棿銆傝闂郴緇熷湴鍧絀洪棿闇瑕佺▼搴忔湁ring0鐨勬潈闄愩?/FONT>

浣滆? JIURL



]]>
const鐢ㄦ硶http://www.shnenglu.com/ivenher/articles/1643.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 09 Dec 2005 02:54:00 GMThttp://www.shnenglu.com/ivenher/articles/1643.htmlhttp://www.shnenglu.com/ivenher/comments/1643.htmlhttp://www.shnenglu.com/ivenher/articles/1643.html#Feedback7http://www.shnenglu.com/ivenher/comments/commentRss/1643.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/1643.htmlconst涓昏鏄負浜嗙▼搴忕殑鍋ュ.鍨?SPAN lang=EN-US>,鍑忓皯紼嬪簭鍑洪敊.
鏈鍩烘湰鐨勭敤娉?SPAN lang=EN-US>:
const int a=100; b鐨勫唴瀹逛笉鍙?SPAN lang=EN-US>,b鍙兘鏄?SPAN lang=EN-US>100涔熷氨鏄0鏄庝竴涓?SPAN lang=EN-US>int綾誨瀷鐨勫父閲?SPAN lang=EN-US>(#define b =100)
int const b=100; //鍜屼笂闈綔鐢ㄤ竴鏍?SPAN lang=EN-US> 

const鎸囬拡鍜屽紩鐢ㄤ竴鑸敤鍦ㄥ嚱鏁扮殑鍙傛暟涓?SPAN lang=EN-US>
int* m = &a; //鍑洪敊,甯擱噺鍙兘鐢ㄥ父鎸囬拡
int c= 1;const int*pc = &c;//
甯告寚閽堝彲鎸囧悜甯擱噺 

const int* pa = &a; //
鎸囬拡鎸囧悜鐨勫唴瀹逛負甯擱噺(灝辨槸b鐨勫間笉鍙?SPAN lang=EN-US>)
int const *a = &b; //鎸囬拡鎸囧悜鐨勫唴瀹逛負甯擱噺(灝辨槸b鐨勫間笉鍙?SPAN lang=EN-US>)*p=3//error
int* const a = &b; //鎸囬拡涓哄父閲?SPAN lang=EN-US>,涓嶈兘鏇存敼鎸囬拡浜嗗 a++浣嗗彲浠ユ敼鍊?SPAN lang=EN-US>*p=3; 

浠庤繖鍙互鐪嬪嚭const鏀懼湪*宸︿晶淇グ鐨勬槸鎸囬拡鐨勫唴瀹?SPAN lang=EN-US>,const鏀懼湪*鍙充晶淇グ鐨勬槸鎸囬拡
鏈韓

const
寮曠敤鐨勭敤娉曞拰鎸囬拡涓鏍?SPAN lang=EN-US>
int const & a=b; 鍜屾寚閽堜竴鏍?SPAN lang=EN-US>
const int& a=b; 鍜屾寚閽堜竴鏍?SPAN lang=EN-US>
浣嗘病鏈?SPAN lang=EN-US> int& const a=b 鐨勭敤娉曞洜涓哄紩鐢ㄤ笉鑳藉仛縐諱綅榪愮畻錛屼絾鍙槸鍑轟釜warning 

const int* const a = &b; //
緇煎悎搴旂敤,涓鑸敤鏉ヤ紶閫掑緇寸殑鏁扮粍
綾誨錛?SPAN lang=EN-US>char* init[] = {"Paris","in the","Spring"};
void fun(const int* const a){}
fun(init)//淇濇姢鍙傛暟涓嶈淇敼 

int A(int)const; //
鏄父鍑芥暟錛屽彧鑳界敤鍦ㄧ被涓紝璋冪敤瀹冪殑瀵硅薄涓嶈兘鏀規敼鍙樻垚鍛樺?SPAN lang=EN-US>
const int A(); //榪斿洖鐨勬槸甯擱噺,鎵浠ュ繀欏昏繖涔堣皟鐢?SPAN lang=EN-US> cosnt int a=A();
int A(const int); //鍙傛暟涓嶈兘鏀瑰?SPAN lang=EN-US>,鍙敤鍦ㄤ換鎰忓嚱鏁?SPAN lang=EN-US>
int A(const int*);
....
int height() const;//甯稿嚱鏁板彧鑳界敱甯稿嚱鏁拌皟鐢?SPAN lang=EN-US>
int max(int,int) const;
int Max = max(height(),height()); 

const int* pHeap = new int;
delete pHeap;
p = NULL;//鍑洪敊
鎴戠殑瑙e喅鍔炴硶鏄己鍒剁被鍨嬭漿鎹?SPAN lang=EN-US>
const int* pHeap = new int(1);
delete (int*)pHeap;
pHeap = NULL; 

涓銆?SPAN lang=EN-US>const 鍜屽紩鐢ㄨ仈鍚堜嬌鐢ㄧ殑鏃跺欒娉ㄦ剰 

const int a = 1; 
const int& ref1 = a;
const int& ref2 = 1; 

ref1
鍜?SPAN lang=EN-US> ref2 閮芥槸姝g‘鐨勶紝浣嗘槸浠栦滑寮曠敤鐨勫唴瀹瑰拰涓鑸殑寮曠敤涓嶅悓
瀵?SPAN lang=EN-US> const int& ref1 = a; 鑰岃█錛屽叾瀹炶繖涓?SPAN lang=EN-US> ref1 宸茬粡鍜?SPAN lang=EN-US> a 娌℃湁浠諱綍鍏崇郴浜?SPAN lang=EN-US>
ref1 瀹為檯涓婃槸瀵逛竴涓復鏃墮噺鐨勫紩鐢ㄣ傚悓鐞?SPAN lang=EN-US> const int& ref2 = 1; 涔熸槸瀵?SPAN lang=EN-US>
涓涓復鏃墮噺鍋氱殑寮曠敤銆傚綋寮曠敤涓存椂閲忔槸 C++ 鐨勯殣寮忕被鍨嬭漿鎹㈠彲浠ヨ搗浣滅敤銆?SPAN lang=EN-US>
涓存椂閲忕殑鐢熷瓨鏈熷拰寮曠敤閲忕殑鐢熷瓨鏈熺浉鍚屻?SPAN lang=EN-US> 

浜屻佸己浼?SPAN lang=EN-US>const瀵硅薄鍙兘瀵艱嚧鏃犲畾涔夎涓?SPAN lang=EN-US> 

瀵逛簬浼樺寲鍋氱殑姣旇緝濂界殑緙栬瘧鍣紝浠g爜 const int i = 1;
褰撳悗闈㈢敤鍒板彉閲?SPAN lang=EN-US> i 鐨勬椂鍊欙紝緙栬瘧鍣ㄤ細浼樺寲鎺夊 i 鐨勫瓨鍙栵紝鑰岀洿鎺ヤ嬌鐢ㄧ珛鍗蟲暟

const int i = 1; 

*(const_cast<int*>(&i)) = 2;
cout << *(int*)&i << endl;
cout << i << endl; 

鎵浠ワ紝瀵?SPAN lang=EN-US> const 瀵硅薄鍋?SPAN lang=EN-US> const_cast 鍙兘瀵艱嚧鏃犲畾涔夎涓?SPAN lang=EN-US>
鐩墠鎴戝氨閬囧埌榪欎簺闂錛岄偅浣嶈繕鏈夎ˉ鍏呯殑鍚?SPAN lang=EN-US> 





鑳戒笉鑳芥妸鑷繁鐨勭粡楠屼篃璋堣皥銆傚ぇ瀹朵氦嫻佷氦嫻?SPAN lang=EN-US>
榪欎釜灝辨槸鎴戝湪璋冮敊鏃跺彂鐜扮殑
int height() const;//
甯稿嚱鏁板彧鑳界敱甯稿嚱鏁拌皟鐢?SPAN lang=EN-US>
int max(int,int) const;
int Max = max(height(),height()); 





Thinking again in C++錛堜竴錛夊父閲忔у師鐞?SPAN lang=EN-US> cphj錛堝師浣滐級 
鏈変簺鍦版柟寰堝彈鍚彂 


1.
涓嶈兘灝?SPAN lang=EN-US>const淇グ鐨勪換浣曞璞°佸紩鐢ㄥ拰鎸囬拡浣滀負璧嬪艱〃杈懼紡鐨勫乏鍊箋?SPAN lang=EN-US>
const int cx=100;
const int & rcx=cx;
const int * pcx=&cx;
cx=200; //error
rcx=200; //error
*pcx=200; //error 

2.const綾誨瀷鐨勫璞′笉鑳界洿鎺ヨnon-const綾誨瀷鐨勫埆鍚嶆墍寮曠敤銆?SPAN lang=EN-US>
(1)涓嶈兘灝?SPAN lang=EN-US>const綾誨瀷鐨勫璞′紶閫掔粰non-const綾誨瀷鐨勫紩鐢ㄣ?SPAN lang=EN-US>
const int cx=100;
int & rx=cx; //error
(2)涓嶈兘灝?SPAN lang=EN-US>const綾誨瀷鐨勫疄鍙備紶閫掔粰褰㈠弬涓?SPAN lang=EN-US>non-const綾誨瀷寮曠敤鐨勫嚱鏁般?SPAN lang=EN-US>
void f(int a)
{
}
void g(int & ra)
{
}
const int cx=100;
f(cx); //ok
g(cx); //error
(3)涓嶈兘灝?SPAN lang=EN-US>const綾誨瀷鐨勫璞′綔涓?SPAN lang=EN-US>non-const綾誨瀷寮曠敤鐨勫嚱鏁拌繑鍥炲箋?SPAN lang=EN-US>
int & f(const int & rca)
{
return rca; //error
}
int x=100;
f(x); 

3.鍙互浣跨敤const綾誨瀷鍒悕寮曠敤non-const瀵硅薄銆傛鏃墮氳繃const寮曠敤涓嶈兘淇敼瀵硅薄錛屼絾瀵硅薄鍙互閫氳繃non-const寮曠敤琚慨鏀廣?SPAN lang=EN-US>
int x=100;
int & rx=x;
const int & rcx=x; //ok
x=200;
rx=200;
rcx=200; //error 

4.鎸囬拡鐨勫睘鎬ф湁涓や釜錛氭寚閽堢殑綾誨瀷鍜屾寚閽堟湰韜殑甯擱噺鎬с傚叾涓紝鎸囧悜const瀵硅薄涓庢寚鍚?SPAN lang=EN-US>non-const瀵硅薄錛屾槸涓嶅悓鐨勬寚閽堢被鍨嬨?SPAN lang=EN-US>
int x=100;
const int * pcx=&x; //[1]
int * px=&x; //[2]
int y=100;
int * const cpy=&y; //[3]
int * py=&y; //[4]
[1][2]涓や釜鎸囬拡鐨勭被鍨嬩笉鍚岋紱[3][4]涓や釜鎸囬拡鐨勫父閲忔т笉鍚屻?SPAN lang=EN-US>
瀵硅薄涓庢寚鍚戝璞$殑鎸囬拡鐨勮鍒欑被浼間簬瀵硅薄涓庡紩鐢ㄣ傚嵆錛?SPAN lang=EN-US>const綾誨瀷鐨勫璞′笉鑳界洿鎺ヨnon-const綾誨瀷鐨勬寚閽堟墍鎸囩ず錛堝悓2錛夛紱鍙互浣跨敤const綾誨瀷鐨勬寚閽堟寚鍚?SPAN lang=EN-US>non-const瀵硅薄錛堝悓3錛夈?SPAN lang=EN-US> 

5.鍙互灝嗙浉鍚岀被鍨嬶紙鍖呮嫭甯擱噺鎬э級鐨?SPAN lang=EN-US>const鎸囬拡鍊艱祴緇?SPAN lang=EN-US>non-const鎸囬拡銆?SPAN lang=EN-US>
int x=100;
int * px;
const int * pcx=&x;
px=pcx; //error
int * const cpx=&x;
px=cpx; //ok 

6.鑻ュ嚱鏁扮殑榪斿洖鍊間負鍐呭緩綾誨瀷鎴栨槸鎸囬拡錛屽垯璇ヨ繑鍥炲艱嚜鍔ㄦ垚涓?SPAN lang=EN-US>const鎬ц川銆備絾鑷畾涔夌被鍨嬪垯涓?SPAN lang=EN-US>non-const鎬ц川銆?SPAN lang=EN-US>
int f() //鐩稿綋浜庤繑鍥?SPAN lang=EN-US>const int
{
return 100;
}
int * g(int & ra) //鐩稿綋浜庤繑鍥?SPAN lang=EN-US>int * const
{
return &ra;
}
class CTest
{
int n;
public:
CTest(int n){this->n=n;}
};
CTest h() //榪斿洖鐨勫氨鏄?SPAN lang=EN-US>CTest
{
return CTest(200);


f()=200; //error 

int x=100;
int y=200;
int * px=&x;
g(y)=px; //error
*g(y)=x; //ok錛屼粠榪欑偣鍙互鐪嬪嚭g()榪斿洖鐨勪笉鏄?SPAN lang=EN-US>const int * 

CTest t(100);
h()=t; //ok錛屼絾鍗存槸瀹屽叏閿欒鐨勩佸嵄闄╃殑鍋氭硶
//
鎵浠?SPAN lang=EN-US>h()鐨勬紜啓娉曟槸榪斿洖const CTest





const int b=100; b
鐨勫唴瀹逛笉鍙?SPAN lang=EN-US>,b鍙兘鏄?SPAN lang=EN-US>100
int const b=100; b蹇呴』涓?SPAN lang=EN-US>int鍨?SPAN lang=EN-US>,涓嶈兘涓哄叾浠栫被鍨?SPAN lang=EN-US>?
榪?SPAN lang=EN-US>2鍙ヨ瘽鐨勬剰鎬濆簲璇ユ槸涓鏍風殑鍚?錛?SPAN lang=EN-US> THINKING IN C++鏄繖鏍瘋鐨?SPAN lang=EN-US>





const int a=100; a鐨勫唴瀹逛笉鍙?SPAN lang=EN-US>,a鍙兘鏄?SPAN lang=EN-US>100錛堝悓鏍蜂笉鑳界被鍨嬭漿鎹級銆?SPAN lang=EN-US>
int const b=100; b蹇呴』涓?SPAN lang=EN-US>int鍨?SPAN lang=EN-US>,涓嶈兘涓哄叾浠栫被鍨?SPAN lang=EN-US>?錛堝悓鏍峰湪浣跨敤涓笉鑳戒慨鏀癸級銆?SPAN lang=EN-US>
鎵浠?SPAN lang=EN-US>a鍜?SPAN lang=EN-US>b鏄竴鏍風殑錛岀О涓烘暣鍨嬪父鏁幫紝鍦ㄤ嬌鐢ㄤ腑涓嶈兘琚慨鏀癸紝褰撶劧閮戒笉鑳借漿涓哄叾浠栫被鍨嬩簡銆?SPAN lang=EN-US> 
#include <iostream> 

using namespace std; 

int main()
{
銆銆const int a = 100;
銆銆int const b = 100; 

a = 100; //榪欏洓鏉¤鍙ョ紪璇戞椂閮戒細鍑虹幇鈥?SPAN lang=EN-US>Cannot modify a const object 
b = 100; //in function main()鈥濈殑閿欒鎻愮ず錛屼篃灝辨槸璇達紝浠諱綍浼佸浘淇敼銆銆 a = 100.0;//a鍜?SPAN lang=EN-US>b錛堝叾瀹炴槸涓鏍風殑錛夌殑琛屼負閮戒細鍑虹幇鈥滅伨闅鋸濓紝鍦ㄨ娉曚笂璁插氨銆銆b = 100.0; //鏄?SPAN lang=EN-US>a鍜?SPAN lang=EN-US>b閮戒笉鑳藉嚭鐜板湪璧嬪艱鍙ョ殑宸﹁竟錛?SPAN lang=EN-US> 

銆銆cout<<'\n'<<a<<'\n'<<b<<endl; 

銆銆return 0;
}





甯稿嚱鏁扮殑璋冪敤鏄繖鏍風殑錛氬父閲忓璞″彧鑳借皟鐢ㄥ父鎴愬憳鍑芥暟錛岄潪甯擱噺瀵硅薄鍗沖彲浠ヨ皟甯告垚鍛樺嚱鏁幫紝涔熷彲浠ヨ皟涓鑸垚鍛樺嚱鏁幫紝浣嗗綋鏌愪釜鍑芥暟鏈?SPAN lang=EN-US>const鍜岄潪const涓や釜鐗堟湰鏃訛紝const瀵硅薄璋?SPAN lang=EN-US>const鐗堟湰錛岄潪const瀵硅薄璋冮潪const鐗堟湰
渚嬶細
class A
{
public:
int & GetData(){return data;}
const int & GetData()const {return data;}
private:
int data;

A a;
a.GetData();//
璋冪敤int & GetData(){return data;}
//
浣嗗鏋滄病鏈夎繖涓嚱鏁幫紝涔熷彲浠ヨ皟鐢?SPAN lang=EN-US>const int & GetData()const 
const A const_a;
const_a.GetData();//璋冪敤const int & GetData()const {return data;}
甯稿嚱鏁板彧鑳借皟甯稿嚱鏁幫紝涔熸槸鐢變簬榪欎釜鍘熷洜





綆椾綘鐙狅紒鍔犱袱鐐?SPAN lang=EN-US>

涓銆?SPAN lang=EN-US>const 鍜屽紩鐢ㄨ仈鍚堜嬌鐢ㄧ殑鏃跺欒娉ㄦ剰 

const int a = 1; 
const int& ref1 = a;
const int& ref2 = 1; 

ref1
鍜?SPAN lang=EN-US> ref2 閮芥槸姝g‘鐨勶紝浣嗘槸浠栦滑寮曠敤鐨勫唴瀹瑰拰涓鑸殑寮曠敤涓嶅悓
瀵?SPAN lang=EN-US> const int& ref1 = a; 鑰岃█錛屽叾瀹炶繖涓?SPAN lang=EN-US> ref1 宸茬粡鍜?SPAN lang=EN-US> a 娌℃湁浠諱綍鍏崇郴浜?SPAN lang=EN-US>
ref1 瀹為檯涓婃槸瀵逛竴涓復鏃墮噺鐨勫紩鐢ㄣ傚悓鐞?SPAN lang=EN-US> const int& ref2 = 1; 涔熸槸瀵?SPAN lang=EN-US>
涓涓復鏃墮噺鍋氱殑寮曠敤銆傚綋寮曠敤涓存椂閲忔槸 C++ 鐨勯殣寮忕被鍨嬭漿鎹㈠彲浠ヨ搗浣滅敤銆?SPAN lang=EN-US>
涓存椂閲忕殑鐢熷瓨鏈熷拰寮曠敤閲忕殑鐢熷瓨鏈熺浉鍚屻?SPAN lang=EN-US> 

浜屻佸己浼?SPAN lang=EN-US>const瀵硅薄鍙兘瀵艱嚧鏃犲畾涔夎涓?SPAN lang=EN-US> 

瀵逛簬浼樺寲鍋氱殑姣旇緝濂界殑緙栬瘧鍣紝浠g爜 const int i = 1;
褰撳悗闈㈢敤鍒板彉閲?SPAN lang=EN-US> i 鐨勬椂鍊欙紝緙栬瘧鍣ㄤ細浼樺寲鎺夊 i 鐨勫瓨鍙栵紝鑰岀洿鎺ヤ嬌鐢ㄧ珛鍗蟲暟

const int i = 1; 

*(const_cast<int*>(&i)) = 2;
cout << *(int*)&i << endl;
cout << i << endl; 

鎵浠ワ紝瀵?SPAN lang=EN-US> const 瀵硅薄鍋?SPAN lang=EN-US> const_cast 鍙兘瀵艱嚧鏃犲畾涔夎涓?SPAN lang=EN-US>





#include <iostream.h>
void fun(char b){cout <<"void"<<endl;}
int fun(int const b){cout <<"int"<<endl;} 
int main()
{
fun(1.0);//璇︾粏鐪嬬湅閲嶈澆鍑芥暟鍚?SPAN lang=EN-US> 
fun(4); //鎯充竴鎯寵皟鐢ㄥ摢涓涓?SPAN lang=EN-US> 

return 0;
}
鎴戣瘯浜嗕竴涓嬶紝浼氬嚭閿?SPAN lang=EN-US>? vc璇達細'fun':ambiguous call to overloaded function 





琛ュ厖鐨勫ソ鍟婏紝榪欎釜涓鑸笉浼氭敞鎰忕殑
const int i = 1;
*(const_cast<int*>(&i)) = 2;
cout << *(int*)&i << endl;
cout << i << endl;
榪欎釜鍙湡鏈夋剰鎬濓紝璋冭瘯鏃朵袱涓兘鏄?SPAN lang=EN-US>2錛屽彲緙栬瘧灝辨槸2錛?SPAN lang=EN-US>1浜?SPAN lang=EN-US>
const鐨勬案榪滈兘鏄?SPAN lang=EN-US>const,榪欐牱鑳芥洿鏀瑰氨涓嶉敊浜嗭紝涓嶇劧灝辮嚜鐩哥煕鐩句簡
濂囨殑鏄?SPAN lang=EN-US> pi 鍜?SPAN lang=EN-US> &i鍦板潃涓鏍峰晩錛屽氨鍍忔ゼ涓婅鐨勮繖鏄紪璇戞椂鐨勪紭鍖?SPAN lang=EN-US>
澶勭悊
const int i = 1;
int* pi=const_cast<int*>(&i);
*pi=2;
cout << *pi << endl;
cout << i << endl; 





閭d釜涓昏鏄殣寮忚漿鎹?SPAN lang=EN-US>
浣犲彲渚濇鎶婁袱涓嚱鏁版敞鎺夌湅鐪嬭皟鐢?SPAN lang=EN-US>
#include <iostream.h>
//void fun(char b){cout <<"void"<<endl;}
void fun(int b){cout <<"int"<<endl;}
int main()
{
fun('a');
fun(4); 
return 0;
}

]]>
鎿嶄綔鍐呭瓨 http://www.shnenglu.com/ivenher/articles/1069.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 11 Nov 2005 05:11:00 GMThttp://www.shnenglu.com/ivenher/articles/1069.htmlhttp://www.shnenglu.com/ivenher/comments/1069.htmlhttp://www.shnenglu.com/ivenher/articles/1069.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/1069.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/1069.html
鎿嶄綔鍐呭瓨

鍦ㄥ墠闈㈢殑绔犺妭涓紝鎴戜滑宸茬粡浜嗚В浜嗗瘎瀛樺櫒鐨勫熀鏈嬌鐢ㄦ柟娉曘傝屾濡傜粨灝炬彁鍒扮殑閭f牱錛屼粎浠呬嬌鐢ㄥ瘎瀛樺櫒鍋氫竴鐐硅繍綆楁槸娌℃湁浠涔堝お澶ф剰涔夌殑錛屾瘯绔熷畠浠笉鑳戒繚瀛樺お澶氱殑鏁版嵁錛屽洜姝わ紝瀵圭紪紼嬩漢鍛樿岃█錛屼粬鑲畾榪垏鍦板笇鏈涜闂唴瀛橈紝浠ヤ繚瀛樻洿澶氱殑鏁版嵁銆?/P>

鎴戝皢鍒嗗埆浠嬬粛濡備綍鍦ㄤ繚鎶ゆā寮忓拰瀹炴ā寮忔搷浣滃唴瀛橈紝鐒惰屽湪姝や箣鍓嶏紝鎴戜滑鍏堢啛鎮変竴涓嬭繖涓ょ妯″紡涓唴瀛樼殑緇撴瀯銆?/P>

3.1 瀹炴ā寮?/H3>

浜嬪疄涓婏紝鍦ㄥ疄妯″紡涓紝鍐呭瓨姣斾繚鎶ゆā寮忎腑鐨勭粨鏋勬洿浠や漢鍥版儜銆傚唴瀛樿鍒嗗壊鎴愭錛屽茍涓旓紝鎿嶄綔鍐呭瓨鏃訛紝闇瑕佹寚瀹氭鍜屽亸縐婚噺銆備笉榪囷紝鐞嗚В榪欎簺姒傚康鏄潪甯稿鏄撶殑浜嬫儏銆傝鐪嬩笅闈㈢殑鍥撅細

孌?瀵勫瓨鍣ㄨ繖縐嶆牸灞鏄棭鏈熺‖浠剁數璺檺鍒剁暀涓嬬殑涓涓激鐤ゃ傚湴鍧鎬葷嚎鍦ㄥ綋鏃舵湁20-bit銆?/P>

鐒惰?0-bit鐨勫湴鍧涓嶈兘鏀懼埌16-bit鐨勫瘎瀛樺櫒閲岋紝榪欐剰鍛崇潃鏈?-bit蹇呴』鏀懼埌鍒殑鍦版柟銆傚洜姝わ紝涓轟簡璁塊棶鎵鏈夌殑鍐呭瓨錛屽繀欏諱嬌鐢ㄤ袱涓?6-bit瀵勫瓨鍣ㄣ?/P>

榪欎竴璁捐涓婄殑鎶樿》鏂規瀵艱嚧浜嗕粖澶╃殑孌?鍋忕Щ閲忔牸灞銆傛渶鍒濈殑璁捐涓紝鍏朵腑涓涓瘎瀛樺櫒鍙湁4-bit鏈夋晥錛岀劧鑰屼負浜嗙畝鍖栫▼搴忥紝涓や釜瀵勫瓨鍣ㄩ兘鏄?6-bit鏈夋晥錛屽茍鍦ㄦ墽琛屾椂姹傚嚭鍔犳潈鍜屾潵鏍囪瘑20-bit鍦板潃銆?/P>

鍋忕Щ閲忔槸16-bit鐨勶紝鍥犳錛屼竴涓鏄?4KB銆備笅闈㈢殑鍥懼彲浠ュ府鍔╀綘鐞嗚В20-bit鍦板潃鏄浣曞艦鎴愮殑錛?/P>

孌?鍋忕Щ閲忔爣璇嗙殑鍦板潃閫氬父璁板仛 孌?鍋忕Щ閲?鐨勫艦寮忋?/P>

鐢變簬榪欐牱鐨勭粨鏋勶紝涓涓唴瀛樻湁澶氫釜瀵瑰簲鐨勫湴鍧銆備緥濡傦紝0000:0010鍜?001:0000鎸囩殑鏄悓涓鍐呭瓨鍦板潃銆傚張濡傦紝

0000:1234 = 0123:0004 = 0120:0034 = 0100:0234
0001:1234 = 0124:0004 = 0120:0044 = 0100:0244

浣滀負璐熼潰褰卞搷涔嬩竴錛屽湪孌典笂鍔?鐩稿綋浜庡湪鍋忕Щ閲忎笂鍔?6錛岃屼笉鏄竴涓滃叏鏂扳濈殑孌點傚弽涔嬶紝鍦ㄥ亸縐婚噺涓婂姞16涔熷拰鍦ㄦ涓婂姞1絳変環銆傛煇浜涙椂鍊欙紝鎹璁や負孌電殑鈥滅矑搴︹濇槸16瀛楄妭銆?/P>

緇冧範棰?BR>灝濊瘯涓涓嬪皢涓嬮潰鐨勫湴鍧杞寲涓?0bit鐨勫湴鍧錛?/P>
2EA8:D678 26CF:8D5F 453A:CFAD 2933:31A6 5924:DCCF
694E:175A 2B3C:D218 728F:6578 68E1:A7DC 57EC:AEEA

紼嶉珮涓浜涚殑瑕佹眰鏄紝鍐欎竴涓▼搴忓皢孌典負AX銆佸亸縐婚噺涓築X鐨勫湴鍧杞崲涓?0bit鐨勫湴鍧錛屽茍淇濆瓨浜嶦AX涓?/P>

[涓婇潰涔犻鐨勭瓟妗?/SPAN>]

鎴戜滑鐜板湪鍙互鍐欎竴涓湡姝g殑紼嬪簭浜嗐?/P>

緇忓吀紼嬪簭錛欻ello, world

;;; 搴旇寰楀埌涓涓?9瀛楄妭鐨?com鏂囦歡

.MODEL TINY
.CODE

CR equ 13
LF equ 10
TERMINATOR equ '$'

ORG 100h

Main PROC
mov dx,offset sMessage
mov ah,9
int 21h
mov ax,4c00h
int 21h
Main ENDP

sMessage:
  DB 'Hello, World!'
  DB CR,LF,TERMINATOR

END Main


; .COM鏂囦歡鐨勫唴瀛樻ā鍨嬫槸鈥楾INY鈥?BR>; 浠g爜孌靛紑濮?BR>
; 鍥炶濺
; 鎹㈣
; DOS瀛楃涓茬粨鏉熺

; 浠g爜璧峰鍦板潃涓篊S:0100h


; 浠S:DX鎸囧悜Message
; int 21h(DOS涓柇)鍔熻兘9 -
; 鏄劇ず瀛楃涓插埌鏍囧噯杈撳嚭璁懼
; int 21h鍔熻兘4ch -
; 緇堟紼嬪簭騫惰繑鍥濧L鐨勯敊璇唬鐮?BR>銆


; 紼嬪簭緇撴潫鐨勫悓鏃舵寚瀹氬叆鍙g偣涓篗ain

閭d箞錛屾垜浠渶瑕佽В閲婂緢澶氫笢瑗褲?/P>

棣栧厛錛屼綔涓烘眹緙栬璦鐨勬娊璞★紝C璇█鎷ユ湁鈥滄寚閽堚濊繖涓暟鎹被鍨嬨傚湪姹囩紪璇█涓紝鍑犱箮鎵鏈夊鍐呭瓨鐨勬搷浣滈兘鏄敱瀵圭粰瀹氬湴鍧鐨勫唴瀛樿繘琛岃闂潵瀹屾垚鐨勩傝繖鏍鳳紝鍦ㄦ眹緙栬璦涓紝緇濆ぇ澶氭暟鎿嶄綔閮借鍜屾寚閽堜駭鐢熸垨澶氭垨灝戠殑鑱旂郴銆?/P>

榪欓噷鎴戞兂寮鴻皟鐨勬槸錛岀敱浜庤繖涓鐗規э紝姹囩紪璇█涓悓鏍蜂細鍑虹幇C紼嬪簭涓父瑙佺殑緙撳啿鍖烘孩鍑洪棶棰樸傚鏋滀綘姝e湪璁捐涓涓笌瀹夊叏鏈夊叧鐨勭郴緇燂紝閭d箞鏈濂芥槸浠旂粏媯鏌ヤ綘鐢ㄥ埌鐨勬瘡涓涓覆錛屼緥濡傦紝瀹冧滑鏄惁涓瀹氳兘澶熶互浣犻鏈熺殑鏂瑰紡緇撴潫錛屼互鍙婏紙濡傛灉浣跨敤鐨勮瘽錛変綘鐨勭紦鍐插尯鏄惁鑳戒繚璇佸疄闄呭彲鑳借緭鍏ョ殑鏁版嵁涓嶈鍐欏叆鍒板畠浠ュ鐨勫湴鏂廣備綔涓轟竴涓眹緙栬璦紼嬪簭鍛橈紝浣犳湁涔夊姟媯鏌ユ瘡涓琛屼唬鐮佺殑鍙敤鎬с?/P>

紼嬪簭涓殑equ浼寚浠ゆ槸瀹忔眹緙栫壒鏈夌殑錛屽畠鐨勬剰鎬濇帴榪戜簬C鎴朠ascal涓殑const錛堝父閲忥級銆傚鏁版儏鍐典笅錛宔qu浼寚浠ゅ茍涓嶄負絎﹀彿鍒嗛厤絀洪棿銆?/P>

姝ゅ錛屾眹緙栫▼搴忔墽琛屼竴欏規搷浣滄槸闈炲父綣佺悙鐨勶紝閫氬父錛屽湪瀵逛笌鏁堢巼瑕佹眰涓嶉珮鐨勫湴鏂癸紝鎴戜滑涔犳儻浣跨敤緋葷粺鎻愪緵鐨勪腑鏂湇鍔℃潵瀹屾垚浠誨姟銆備緥濡傛湰渚嬩腑鐨勪腑鏂?1h錛屽畠鏄疍OS鏃朵唬鐨勪腑鏂湇鍔★紝鍦╓indows涓紝瀹冧篃琚涓烘槸Windows API鐨勪竴閮ㄥ垎錛堣繖涓鐐瑰彲浠ュ湪Microsoft鐨勬枃妗d腑鏌ュ埌錛夈備腑鏂彲浠ヨ鐞嗚В涓洪珮綰ц璦涓殑瀛愮▼搴忥紝浣嗗張涓嶅畬鍏ㄤ竴鏍封斺斾腑鏂嬌鐢ㄧ郴緇熸爤鏉ヤ繚瀛樺綋鍓嶇殑鏈哄櫒鐘舵侊紝鍙互鐢辯‖浠跺彂璧鳳紝閫氳繃淇敼鏈哄櫒鐘舵佸瓧鏉ュ弽棣堜俊鎭紝絳夌瓑銆?/P>

閭d箞錛屾渶鍚庝竴孌甸氳繃DB瀛樻斁鐨勬暟鎹埌搴曚繚瀛樺湪鍝噷浜嗗憿錛熺瓟妗堟槸绱ф尐鐫浠g爜瀛樻斁銆傚湪姹囩紪璇█涓紝DB鍜屾櫘閫氱殑鎸囦護鐨勫湴浣嶆槸鐩稿悓鐨勩傚鏋滀綘鐨勬眹緙栫▼搴忓茍涓嶇煡閬撴柊鐨勫姪璁扮錛堜緥濡傦紝鏂扮殑澶勭悊鍣ㄤ笂鐨凜PUID鎸囦護錛夛紝鑰屼綘寰堟竻妤氾紝閭d箞鍙互鐢―B 鏈哄櫒鐮佺殑鏂瑰紡寮鴻鍐欎笅鎸囦護銆傝繖鎰忓懗鐫錛屼綘鍙互瓚呰秺姹囩紪鍣ㄧ殑鑳藉姏鎾板啓姹囩紪紼嬪簭錛岀劧鑰岋紝鐩存帴鐢ㄦ満鍣ㄧ爜緙栫▼鏄嚑涔庤偗瀹氭槸涓浠惰垂鍔涗笉璁ㄥソ鐨勪簨鈥斺旀眹緙栧櫒鍘傚晢浼氱粡甯告洿鏂板畠鎵鏀寔鐨勬寚浠ら泦浠ラ傚簲甯傚満闇瑕侊紝鑰屼笖錛屼綘鍙互鏈熷緟浣犵殑姹囩紪鍏惰兘澶熶駭鐢熸紜殑浠g爜錛屽洜涓烘満鍣ㄦ煡琛ㄦ槸涓嶄細鍑洪敊鐨勩傛棦鐒舵満鍣ㄨ兘澶熷府鎴戜滑鍋氬皢紼嬪簭杞崲涓轟唬鐮佽繖浠朵簨鎯咃紝閭d箞涓轟粈涔堜笉璁╁畠鏉ュ仛鍛紵

緇嗗績鐨勮鑰呬笉闅懼彂鐜幫紝鍦ㄧ▼搴忎腑鎴戜滑娌℃湁瀵笵S榪涜璧嬪箋傞偅涔堬紝榪欐槸鍚︽剰鍛崇潃紼嬪簭鐨勭粨鏋滃皢鏄笉鍙嫻嬬殑鍛紵絳旀鏄惁瀹氱殑銆侱OS錛堟垨Windows涓殑MS-DOS VM錛夊湪鍔犺澆.com鏂囦歡鐨勬椂鍊欙紝浼氬瀵勫瓨鍣ㄨ繘琛屽緢澶氬垵濮嬪寲銆?com鏂囦歡琚檺鍒朵負灝忎簬64KB錛岃繖鏍鳳紝瀹冪殑浠g爜孌點佹暟鎹閮借瑁呭叆鍚屾牱鐨勬暟鍊鹼紙鍗籌紝鍒濆鐘舵佷笅DS=CS錛夈?/P>

涔熻浼氭湁浜鴻錛屸滃樋錛岃繖鍚搗鏉ヤ笉澶ソ錛屼竴涓?4KB鐨勭▼搴忚兘鍋氬緱浜嗕粈涔堝憿錛熻繕鏈夛紝浣犲惞寰楀ぉ鑺變貢鍧犵殑鍫嗘爤孌靛湪浠涔堝湴鏂癸紵鈥濋偅涔堬紝鎴戜滑鏉ョ湅鐪嬩笅闈㈣繖涓柊鐨凥ello world紼嬪簭錛屽畠鏄竴涓狤XE鏂囦歡錛屽湪DOS瀹炴ā寮忎笅榪愯銆?/P>
;;; 搴旇寰楀埌涓涓?61 瀛楄妭鐨凟XE鏂囦歡

.MODEL SMALL
.STACK 200h

CR equ 13
LF equ 10
TERMINATOR equ '$'

.DATA

Message DB 'Hello, World !'
  DB CR,LF,TERMINATOR

.CODE

Main PROC
mov ax, DGROUP
mov ds, ax

mov dx, offset Message
mov ah, 9
int 21h

mov ax, 4c00h
int 21h
Main ENDP

END main

; 閲囩敤鈥淪MALL鈥濆唴瀛樻ā鍨?BR>; 鍫嗘爤孌?/FONT>

; 鍥炶濺
; 鎹㈣
; DOS瀛楃涓茬粨鏉熺

; 瀹氫箟鏁版嵁孌?/FONT>

; 瀹氫箟鏄劇ず涓?/FONT>

; 瀹氫箟浠g爜孌?/FONT>


; 灝嗘暟鎹
; 鍔犺澆鍒癉S瀵勫瓨鍣?/FONT>

; 璁劇疆DX
; 鏄劇ず


; 緇堟紼嬪簭

561瀛楄妭錛熷疄鐜扮浉鍚屽姛鑳界殑紼嬪簭澶т簡榪欎箞澶氾紒涓轟粈涔堝憿錛熸垜浠湅鍒幫紝紼嬪簭鎷ユ湁浜嗗畬鏁寸殑鍫嗘爤孌點佹暟鎹銆佷唬鐮佹錛屽叾涓爢鏍堟瓚寵凍鍗犳帀浜?12瀛楄妭錛屽叾浣欑殑鍩烘湰涓婃病浠涔堝彉鍖栥?/P>

鍒嗘垚澶氫釜孌墊湁浠涔堝ソ澶勫憿錛熼鍏堬紝瀹冭紼嬪簭鏄懼緱鏇村姞娓呮櫚鈥斺斾綘鑲畾鏇存効鎰忕湅涓涓粨鏋勬竻妤氱殑紼嬪簭錛屼唬鐮佷腑hard-coded鐨勫瓧絎︿覆銆佹暟鎹浜鴻寰楄垂瑙c傛瘮濡傦紝mov dx, 0152h鑲畾涓嶅mov dx, offset Message鏉ョ殑浜插垏銆傛澶栵紝閫氳繃鍒嗘浣犲彲浠ヤ嬌鐢ㄦ洿澶氱殑鍐呭瓨錛屾瘮濡傦紝浠g爜孌佃吘鍑虹殑絀洪棿鍙互鍋氭洿澶氱殑浜嬫儏銆俥xe鏂囦歡鍙︿竴涓惛寮曚漢鐨勫湴鏂規槸瀹冭兘澶熷疄鐜扳滈噸瀹氫綅鈥濄傜幇鍦ㄤ綘涓嶉渶瑕佹寚瀹氱▼搴忓叆鍙g偣鐨勫湴鍧浜嗭紝鍥犱負緋葷粺浼氭壘鍒頒綘鐨勭▼搴忓叆鍙g偣錛岃屼笉鏄鏉跨殑100h銆?/P>

紼嬪簭涓殑絎﹀彿涔熶細鍦ㄧ郴緇熷姞杞界殑鏃跺欓噸鏂拌祴浜堟柊鐨勫湴鍧銆俥xe紼嬪簭鑳藉淇濊瘉浣犵殑璁捐瀹規槗鍦拌瀹炵幇錛屼笉闇瑕佽冭檻澶鐨勭粏鑺傘?/P>

褰撶劧錛屾垜浠殑涓昏鐩殑鏄皢姹囩紪璇█浣滀負楂樼駭璇█鐨勪竴涓湁鐢ㄧ殑琛ュ厖銆傚鎴戝湪寮濮嬫彁鍒扮殑閭f牱錛岀湡姝e畬鍏ㄧ敤姹囩紪璇█瀹炵幇鐨勭▼搴忎笉涓瀹氬氨濂斤紝鍥犱負瀹冧笉渚夸簬緇存姢錛岃屼笖錛岀敱浜庣粨鏋勭殑鍘熷洜錛屼綘涔熶笉澶鏄撶‘淇濆畠鏄紜殑錛涙眹緙栬璦鏄竴縐嶉潪緇撴瀯鍖栫殑璇█錛岃皟璇曚竴涓簿蹇冭璁$殑姹囩紪璇█紼嬪簭錛屽嵆浣垮浜庝竴涓佹墜鏉ヨ涔熶笉鍟繪槸涓鍦烘伓姊︼紝鍥犱負浣犲緢鍙兘鎺夊埌鍒漢棰勮鐨勨滈櫡闃扁濅腑鈥斺旇繖浜涙妧宸х‘瀹炴彁楂樹簡浠g爜鎬ц兘錛岀劧鑰屼綘寰堝彲鑳戒笉鐞嗚В瀹冿紝浜庢槸浣犳妸瀹冩敼鎺夛紝鎺ョ潃灝卞彂鐜扮▼搴忓交搴曡觸鎺変簡銆備嬌鐢ㄦ眹緙栬璦鍔犲己楂樼駭璇█紼嬪簭鏃訛紝浣犺鍋氱殑閫氬父鍙槸浣跨敤姹囩紪鎸囦護錛岃屼笉蹇呮惌寤哄畬鏁寸殑姹囩紪紼嬪簭銆傜粷澶у鏁幫紙涔熸槸鐩墠鎴戦亣鍒扮殑鍏ㄩ儴錛塁/C++緙栬瘧鍣ㄩ兘鏀寔鍐呭祵姹囩紪錛屽嵆鍦ㄧ▼搴忎腑浣跨敤姹囩紪璇█錛岃屼笉蹇呮挵鍐欏崟鐙殑姹囩紪璇█紼嬪簭鈥斺旇繖鍙互鑺傜渷浣犵殑涓嶅皯綺懼姏錛屽洜涓哄墠闈㈣榪扮殑閭d簺浼寚浠わ紝濡俥qu絳夛紝閮藉彲浠ョ敤浣犵啛鎮夌殑楂樼駭璇█鏂瑰紡鏉ョ紪鍐欙紝緙栬瘧鍣ㄤ細鎶婂畠杞崲涓洪傚綋鐨勫艦寮忋?/P>

闇瑕佽鏄庣殑鏄紝鍦ㄩ珮綰ц璦涓竴瀹氳娉ㄦ剰緙栬瘧緇撴灉銆傜紪璇戝櫒浼氬浣犵殑姹囩紪紼嬪簭鍋氫竴浜涗慨鏀癸紝榪欎笉涓瀹氱鍚堜綘鐨勮姹傦紙闄勫甫璇翠竴鍙ワ紝鏈夋椂緙栬瘧鍣ㄤ細寰堣仾鏄庡湴璋冩暣鎸囦護欏哄簭鏉ユ彁楂樻ц兘錛岃繖縐嶆儏鍐典笅鏈濂芥祴璇曚竴涓嬪摢縐嶅啓娉曠殑鏁堟灉鏇村ソ錛夛紝姝ゆ椂闇瑕佸仛涓浜涙洿娣卞叆鐨勪慨鏀癸紝鎴栬呯敤db鏉ュ己鍒剁紪鐮併?/P>

3.2 淇濇姢妯″紡

瀹炴ā寮忕殑涓滆タ璇村緱澶浜嗭紝灝界鎴戝凡緇忓垹鎺変簡璁稿涓滆タ錛屽茍鎶婁竴浜涘師鍒欐х殑闂鎷垮埌浜嗚繖涓鑺傝璁恒傝繖鏍峰仛涓嶆槸娌℃湁鐞嗙敱鐨勨斺斾繚鎶ゆā寮忔墠鏄幇鍦ㄧ殑紼嬪簭錛堥櫎浜嗘搷浣滅郴緇熺殑搴曞眰鍚姩浠g爜錛夋渶甯哥敤鐨凜PU妯″紡銆備繚鎶ゆā寮忔彁渚涗簡寰堝浠や漢鑰崇洰涓鏂扮殑鍔熻兘錛屽寘鎷唴瀛樹繚鎶わ紙榪欐槸淇濇姢妯″紡榪欎釜鍚嶅瓧鐨勬潵婧愶級銆佽繘紼嬫敮鎸併佹洿澶х殑鍐呭瓨鏀寔錛岀瓑絳夈?/P>

瀵逛簬涓涓紪紼嬩漢鍛樻潵璇達紝鑳解滃伔鎳掆濇槸涓浠朵護浜烘剦蹇殑浜嬫儏銆傝繖閲屸滃伔鎳掆濇槸璇存妸鈥滃簲璇モ濈敱緋葷粺鍋氱殑浜嬫儏鍋氱殑浜嬫儏鍏ㄩ兘浜ょ粰緋葷粺銆備負浠涔堝憿錛熻繖鍑鴻嚜涓涓熀鏈濇兂鈥斺斾漢鎬繪湁鐘敊璇殑鏃跺欙紝鐒惰岃鍒欎笉浼氾紝姝g‘鍦頒簡瑙h鍒欎箣鍚庯紝浣犲彲浠ユ湡寰呭畠鍍忎綘鎵浜嗚В鐨勯偅鏍鋒墽琛屻傚浜嶤紼嬪簭鏉ヨ錛屼綘鑷繁鐢–璇█鍐欑殑瀹炵幇鐩稿悓鍔熻兘鐨勫嚱鏁伴氬父娌℃湁緋葷粺鎻愪緵鐨勫嚱鏁版ц兘濂斤紙闄ら潪浣犵敤浜嗘瘮鍑芥暟搴撳ソ寰堝鐨勭畻娉曪級錛屽洜涓虹郴緇熺殑鍑芥暟寰寰浣跨敤浜嗘洿濂界殑浼樺寲錛岀敋鑷沖彲鑳戒笉鏄敤C璇█鐩存帴緙栧啓鐨勩?/P>

褰撶劧錛屸滃伔鎳掆濈殑鎰忔濇槸璇達紝鎶婇偅浜涘簲璇ヨ鏈哄櫒鍋氱殑浜嬫儏浜ょ粰璁$畻鏈烘潵鍋氾紝鍥犱負瀹冨仛寰楁洿濂姐傛垜浠簲璇ユ妸綺懼姏闆嗕腑鍒拌璁$畻娉曪紝鑰屼笉鏄紪鍐欐簮浠g爜鏈韓涓婏紝鍥犱負緙栬瘧鍣ㄥ嚑涔庡彧鑳藉仛絳変環浼樺寲錛岃屽疄鐜扮浉鍚屽姛鑳斤紝浣嗕嬌鐢ㄦ洿濂界畻娉曠殑紼嬪簭瀹炵幇錛屽垯鍑犱箮鍙兘鐢變漢鑷繁瀹屾垚銆?/P>

涓句釜渚嬪瓙錛岃繖鏍蜂竴涓嚱鏁幫細

int fun(){
  int a=0;
  register int i;
  for(i=0; i<1000; i++) a+=i;
  return a;
}

鍦ㄦ煇縐嶇紪璇戞ā寮廩DEBUG]涓嬭緙栬瘧涓?/P>
push ebp
mov ebp,esp
sub esp,48h
push ebx
push esi
push edi
lea edi,[ebp-48h]
mov ecx,12h
mov eax,0CCCCCCCCh
rep stos dword ptr [edi]
mov dword ptr [ebp-4],0
mov dword ptr [ebp-8],0
jmp fun+31h
mov eax,dword ptr [ebp-8]
add eax,1
mov dword ptr [ebp-8],eax
cmp dword ptr [ebp-8],3E8h
jge fun+45h
mov ecx,dword ptr [ebp-4]
add ecx,dword ptr [ebp-8]
mov dword ptr [ebp-4],ecx
jmp fun+28h
mov eax,dword ptr [ebp-4]
pop edi
pop esi
pop ebx
mov esp,ebp
pop ebp
ret
; 瀛愮▼搴忓叆鍙?/FONT>


; 淇濇姢鐜板満


; 鍒濆鍖栧彉閲?璋冭瘯鐗堟湰鐗規湁銆?BR>; 鏈川鏄湪鍫嗕腑鎸栦竴鍧楀湴鍎匡紝瀛楥CCCCCCC銆?BR>; 鐢ㄤ覆鎿嶄綔榪涜錛岃繖灝嗗彂鎸ntel澶勭悊鍣ㄤ紭鍔?BR>; 鈥榓=0鈥?BR>; 鈥榠=0鈥?/FONT>

; 璧扮潃
; i++


; i<1000?


; a+=i;

; return a;

; 鎭㈠鐜板満

; 榪斿洖

鑰屽湪鍙︿竴縐嶆ā寮廩RELEASE/MINSIZE]涓嬪嵈琚紪璇戜負

xor eax,eax
xor ecx,ecx
add eax,ecx
inc ecx
cmp ecx,3E8h
jl fun+4
ret

; a=0;
; i=0;
; a+=i;
; i++;
; i<1000?
; 鏄?>緇х畫緇х畫
; return a

濡傛灉璁╂垜鏉ュ啓錛屽鍗婁細鍐欐垚

mov eax, 079f2ch
ret

; return 499500

涓轟粈涔堣繖鏍峰啓鍛紵鎴戜滑鐪嬪埌錛宨鏄竴涓鐣屼笉鑳藉獎鍝嶃佷篃鏃犳硶鑾風煡鐨勫唴閮ㄧ姸鎬侀噺銆備綔涓鴻繖孌電▼搴忔潵璇達紝瀵瑰畠鐨勮綆楀浜庣粨鏋滃茍娌℃湁鐩存帴鐨勫獎鍝嶁斺斿畠鐨勫瓨鍦ㄤ笉榪囨槸鏂逛究綆楁硶鎻忚堪鑰屽凡銆傚茍涓旀垜浠湅鍒扮殑錛岃繖孌電▼搴忓疄闄呬笂鏃犺鎵ц澶氬皯嬈★紝鍏剁粨鏋滈兘涓嶄細鍙戠敓鍙樺寲錛屽洜姝わ紝鐩存帴榪斿洖璁$畻緇撴灉灝卞彲浠ヤ簡錛岃綆楁槸澶氫綑鐨勶紙濡傛灉璇翠竴瀹氳綆楋紝閭d箞搴旇鏄紪璇戝櫒鍦ㄧ紪璇戣繃紼嬩腑瀹屾垚瀹冿級銆?/P>

鏇磋繘涓姝ワ紝鎴戜滑鐢氳嚦甯屾湜緙栬瘧鍣ㄨ兘澶熺洿鎺ユ妸榪欎釜鍑芥暟鍙樻垚涓涓鍙峰父閲忥紝榪欐牱榪炴搷浣滃爢鏍堢殑榪囩▼涔熺渷鎺変簡銆?/P>

絎笁縐嶇粨鏋滃睘浜庘滅瓑鏁堚濅唬鐮侊紝鑰屼笉鏄滅瓑浠封濅唬鐮併備綔涓虹敤鎴鳳紝寰堝鏃跺欐槸甯屾湜緙栬瘧鍣ㄨ繖鏍峰仛鐨勶紝鐒惰岀敱浜庣洰鍓嶇殑鎶鏈皻涓嶆垚鐔燂紝鏈夋椂榪欑鍋氭硶浼氶犳垚涓浜涢棶棰橈紙gcc鍜実++鐨勯《綰т紭鍖栧彲浠ラ犳垚緙栬瘧鍑虹殑FreeBSD鍐呮牳琛屼負寮傚父錛岃繖鏄垜鍦‵reeBSD涓婇亣鍒扮殑鍞竴涓嬈¤蔣浠跺師鍥犵殑kernel panic錛夛紝鍥犳錛屽茍涓嶆槸鎵鏈夌殑緙栬瘧鍣ㄩ兘榪欐牱鍋氾紙鍙︿竴鏂歸潰鐨勫師鍥犳槸錛屽鏋滅紪璇戝櫒鍦ㄨ繖鏂歸潰鍋氱殑澶繃鐏紝渚嬪鑷姩姹傝В鍏ㄩ儴鈥滃浐瀹氣濋棶棰橈紝閭d箞濡傛灉浣犵殑紼嬪簭鏄В鍐沖浐瀹氱殑闂鈥滃緢澶р濓紝濡傛眰瑙h糠瀹紝閭d箞鍦ㄧ紪璇戣繃紼嬩腑浣犲氨浼氭壘閿ゅ瓙鏉ョ牳璁$畻鏈轟簡錛夈傜劧鑰岋紝浣滀負緙栬瘧鍣ㄥ埗閫犲晢錛屼負浜嗘彁楂樿嚜宸辯殑浜у搧鐨勭珵浜夊姏錛屽線寰浼氫嬌鐢ㄧ涓夌浠g爜鏉ュ仛鍑芥暟搴撱傛濡傚墠闈㈡墍鎻愬埌鐨勯偅鏍鳳紝榪欑浼樺寲寰寰涓嶆槸緙栬瘧鍣ㄦ湰韜殑浣滅敤錛屽敖綆$幇浠g紪璇戠▼搴忔嫢鏈夌紪璇戞墽琛屻佸驚鐜唬鐮佸鎻愩佹棤鐢ㄤ唬鐮佸幓闄ょ瓑璇稿浼樺寲鍔熻兘錛屼絾瀹冮兘涓嶈兘淇濊瘉紼嬪簭鏈浼樸傛渶鍚庝竴縐嶄唬鐮佹亹鎬曞緢灝戞湁緙栬瘧鍣ㄨ兘澶熷仛鍒幫紝涓嶄俊浣犲彲浠ョ敤鑷繁甯哥敤鐨勭紪璇戝櫒鍔犱笂鍚勭浼樺寲閫夐」璇曡瘯:)

鍙戠幇浠涔堜簡鍚楋紵涓夌浠g爜涓紝瀵逛簬鍐呭瓨鐨勮闂竴涓瘮涓涓皯銆傝繖鏍峰仛鐨勭悊鐢辨槸錛屽敖鍙兘鍦板埄鐢ㄥ瘎瀛樺櫒騫跺噺灝戝鍐呭瓨鐨勮闂紝鍙互鎻愰珮浠g爜鎬ц兘銆傚湪鏌愪簺鎯呭喌涓嬶紝浣夸唬鐮佹棦灝忓張蹇槸鍙兘鐨勩?/P>

涔﹀綊姝d紶錛屾垜浠潵璇磋淇濇姢妯″紡鐨勫唴瀛樻ā鍨嬨備繚鎶ゆā寮忕殑鍐呭瓨鍜屽疄妯″紡鏈夊緢澶氬叡鍚屼箣澶勩?/P>

姣棤鐤戦棶錛屼互'protected mode'(淇濇姢妯″紡), 'global descriptor table'(鍏ㄥ眬鎻忚堪絎﹁〃), 'local descriptor table'(鏈湴鎻忚堪絎﹁〃)鍜?selector'(閫夋嫨鍣?鎼滅儲錛屼綘浼氬緱鍒板畬鏁翠粙緇嶅畠浠殑澶ч噺淇℃伅銆?/P>

淇濇姢妯″紡涓庡疄妯″紡鐨勫唴瀛樼被浼鹼紝鐒惰岋紝瀹冧滑涔嬮棿鏈澶х殑鍖哄埆灝辨槸淇濇姢妯″紡鐨勫唴瀛樻槸鈥滅嚎鎬р濈殑銆?/P>

鏂扮殑璁$畻鏈轟笂錛?2-bit鐨勫瘎瀛樺櫒宸茬粡涓嶆槸浠涔堟柊椴滀簨錛堝鏋滀綘鍝ぉ鍚浣犵殑CPU鐨勫瘎瀛樺櫒涓嶆槸32-bit鐨勶紝閭d箞瀹冣斺旂畝鐩村彲浠ヨ偗瀹氬湴璇粹斺旂殑瀛楅暱瑕佹瘮32-bit榪樿澶氥傛柊鐨勪釜浜烘満涓婂凡緇忓紑濮嬮愭閲囩敤64-bit鐨凜PU浜嗭級錛屾崲璦涔嬶紝瀹為檯涓婃/鍋忕Щ閲忚繖涓鏍煎眬宸茬粡涓嶅啀闇瑕佷簡銆傚敖綆″姝わ紝鍦ㄧ戶緇湅淇濇姢妯″紡鍐呭瓨緇撴瀯鏃訛紝浠嶈璁頒綇孌?鍋忕Щ閲忕殑姒傚康銆備笉濡ㄦ妸孌靛瘎瀛樺櫒鐪嬩綔瀵逛簬淇濇姢妯″紡涓殑閫夋嫨鍣ㄧ殑涓涓ā鎷熴傞夋嫨鍣ㄦ槸鍏ㄥ眬鎻忚堪絎﹁〃(Global Descriptor Table, GDT)鎴栨湰鍦版弿榪扮琛?Local Descriptor Table, LDT)鐨勪竴涓寚閽堛?/P>

濡傚浘鎵紺猴紝GDT鍜孡DT鐨勬瘡涓涓」鐩兘鎻忚堪涓鍧楀唴瀛樸備緥濡傦紝涓涓」鐩腑鍖呭惈浜嗘煇鍧楄鎻忚堪鐨勫唴瀛樼殑鐗╃悊鐨勫熀鍦板潃銆侀暱搴︼紝浠ュ強鍏朵粬涓浜涚浉鍏充俊鎭?/P>

淇濇姢妯″紡鏄竴涓潪甯擱噸瑕佺殑姒傚康錛屽悓鏃朵篃鏄洰鍓嶆挵鍐欏簲鐢ㄧ▼搴忔椂錛屾渶甯哥敤鐨凜PU妯″紡錛堣繍琛屽湪鏂扮殑璁$畻鏈轟笂鐨勬搷浣滅郴緇熷緢灝戞湁鍦ㄥ疄妯″紡涓嬭繍琛岀殑錛夈?/P>

涓轟粈涔堝彨淇濇姢妯″紡鍛紵瀹冣滀繚鎶も濅簡浠涔堬紵絳旀鏄繘紼嬬殑鍐呭瓨銆備繚鎶ゆā寮忕殑涓昏鐩殑鍦ㄤ簬鍏佽澶氫釜榪涚▼鍚屾椂榪愯錛屽茍淇濇姢瀹冧滑鐨勫唴瀛樹笉鍙楀叾浠栬繘紼嬬殑渚電姱銆傝繖鏈夌偣綾諱技浜嶤++涓殑鏈哄埗錛岀劧鑰屽畠鐨勫己鍒跺姏瑕佸ぇ寰楀銆傚鏋滀綘鐨勮繘紼嬪湪淇濇姢妯″紡涓嬩互涓嶆伆褰撶殑鏂瑰紡璁塊棶浜嗗唴瀛橈紙渚嬪錛屽啓浜嗏滃彧璇燴濆唴瀛橈紝鎴栬浜嗕笉鍙鐨勫唴瀛橈紝絳夌瓑錛夛紝閭d箞CPU灝變細浜х敓涓涓紓甯搞傝繖涓紓甯稿皢浜ょ粰鎿嶄綔緋葷粺澶勭悊錛岃岃繖縐嶅鐞嗭紝鍋囧浣犵殑紼嬪簭娌℃湁鐗瑰埆璇存槑鎿嶄綔緋葷粺璇ュ浣曞鐞嗙殑璇濓紝涓鑸氨鏄潃鎺夊仛閿欎簡浜嬫儏鐨勮繘紼嬨?/P>

鎴戝儚榪欐牱鐨勫璇濇澶у涓瀹氶潪甯哥啛鎮夛紙涓存椂鍐欎簡涓涓▼搴忔晠鎰忛犳垚鐨勯敊璇級錛?/P>

濂界殑錛屽彧鏄竴涓▼搴忓穿婧冧簡錛岃屾搷浣滅郴緇熺殑鍏朵粬榪涚▼鐓у父榪愯錛堝悓鏍風殑紼嬪簭鍦―OS涓嚑涔庢槸鏉夸笂閽夐拤鐨勬鏈猴紝鍥犱負NULL鎸囬拡鐨勪綅緗伆濂芥槸涓柇鍚戦噺琛級錛屼綘鐢氳嚦榪樺彲浠ヨ皟璇曞畠銆?/P>

淇濇姢妯″紡榪樻湁鍏朵粬寰堝濂藉錛屽湪姝ゅ氨涓嶄竴涓璧樿堪浜嗐傚疄妯″紡鍜屼繚鎶ゆā寮忎箣闂寸殑鍒囨崲闂鎴戞墦綆楁斁鍦ㄥ悗闈㈢殑鈥滈珮綰ф妧宸р濅竴绔犳潵璁詫紝鍥犱負澶氭暟紼嬪簭騫朵笉娑夊強榪欎釜銆?/P>

浜嗚В浜嗗唴瀛樼殑鏍煎眬錛屾垜浠氨鍙互榪涘叆涓嬩竴鑺傗斺旀搷浣滃唴瀛樹簡銆?/P>

3.3 鎿嶄綔鍐呭瓨

鍓嶄袱鑺備腑錛屾垜浠粙緇嶄簡瀹炴ā寮忓拰淇濇姢妯″紡涓嬌鐢ㄧ殑涓嶅悓鐨勫唴瀛樻牸灞銆傜幇鍦ㄥ紑濮嬭В閲婂浣曚嬌鐢ㄨ繖浜涚煡璇嗐?/P>

鍥炲繂涓涓嬪墠闈㈡垜浠榪囩殑錛屽瘎瀛樺櫒鍙互鐢ㄤ綔鍐呭瓨鎸囬拡銆傜幇鍦紝鏄粬浠彂鎸ヤ綔鐢ㄧ殑鏃跺欎簡銆?/P>

鍙互灝嗗唴瀛樻兂璞′負涓涓『搴忕殑瀛楄妭嫻併備嬌鐢ㄦ寚閽堬紝鍙互浠繪剰鍦版搷浣滐紙璇誨啓錛夊唴瀛樸?/P>

鐜板湪鎴戜滑闇瑕佷竴浜涘叾浠栫殑鎸囦護鏍煎紡鏉ユ弿榪板浜庡唴瀛樼殑鎿嶄綔銆傛搷浣滃唴瀛樻椂錛岄鍏堥渶瑕佺殑灝辨槸瀹冪殑鍦板潃銆?/P>

璁╂垜浠潵鐪嬬湅涓嬮潰鐨勪唬鐮侊細

mov ax,[0]

鏂規嫭鍙瘋〃紺猴紝閲岄潰鐨勮〃杈懼紡鎸囧畾鐨勪笉鏄珛鍗蟲暟錛岃屾槸鍋忕Щ閲忋傚湪瀹炴ā寮忎腑錛孌S:0涓殑閭d釜瀛楋紙16-bit闀匡級灝嗚瑁呭叆AX銆?/P>

鐒惰?鏄竴涓父鏁幫紝濡傛灉闇瑕佸湪榪愯鐨勬椂鍊欏姞浠ユ敼鍙橈紝灝遍渶瑕佷竴浜涚壒孌婄殑鎶宸э紝姣斿紼嬪簭鑷慨鏀廣傛眹緙栨敮鎸佽繖涓壒鎬э紝鐒惰屾垜涓漢騫朵笉鎺ㄨ崘榪欑鏂規硶鈥斺旇嚜淇敼澶уぇ闄嶄綆紼嬪簭鐨勫彲璇繪э紝騫朵笖榪橀檷浣庣ǔ瀹氭э紝鎬ц兘榪樹笉涓瀹氬ソ銆傛垜浠渶瑕佸彟澶栫殑鎶鏈?/P>
mov bx,0
mov ax,[bx]

鐪嬭搗鏉ヨ垝鏈嶄簡涓浜涳紝涓嶆槸鍚楋紵BX瀵勫瓨鍣ㄧ殑鍐呭鍙互闅忔椂鏇存敼錛岃屼笉闇瑕佺敤鍐楅暱鐨勪唬鐮佸幓淇敼鑷韓錛屾洿涓嶇敤鎷呭績鐢辨甯︽潵鐨勪笉紼沖畾闂銆?/P>

鍚屾牱鐨勶紝mov鎸囦護涔熷彲浠ユ妸鏁版嵁淇濆瓨鍒板唴瀛樹腑錛?/P>
mov [0],ax

鍦ㄥ瓨鍌ㄥ櫒涓庡瘎瀛樺櫒涔嬮棿浜ゆ崲鏁版嵁搴旇瓚沖娓呮浜嗐?/P>

鏈変簺鏃跺欐垜浠細闇瑕佹搷浣滅鏉ユ弿榪板唴瀛樻暟鎹殑瀹藉害錛?/P>
鎿嶄綔絎?/FONT> 鎰忎箟
byte ptr 涓涓瓧鑺?8-bit, 1 byte)
word ptr 涓涓瓧(16-bit)
dword ptr 涓涓弻瀛?32-bit)

渚嬪錛屽湪DS:100h澶勪繚瀛?234h錛屼互瀛楀瓨鏀撅細

mov word ptr [100h],01234h

浜庢槸鎴戜滑灝唌ov鎸囦護鎵╁睍涓猴細

mov reg(8,16,32), mem(8,16,32)
mov mem(8,16,32), reg(8,16,32)
mov mem(8,16,32), imm(8,16,32)

闇瑕佽鏄庣殑鏄紝鍔犲噺鍚屾牱涔熷彲浠ュ湪[]涓嬌鐢紝渚嬪錛?/P>
mov ax,[bx+10]
mov ax,[bx+si]
mov ax,es:[di+bp]

絳夌瓑銆傛垜浠湅鍒幫紝瀵逛簬鍐呭瓨鐨勬搷浣滐紝鍗充嬌浣跨敤MOV鎸囦護錛屼篃鏈夎澶氱鍙兘鐨勬柟寮忋備笅涓鑺備腑錛屾垜浠皢浠嬬粛濡備綍鎿嶄綔涓層?/P>

鎰熻阿 緗戝弸 姘存潐 鎸囧嚭姝ょ瓟妗堜腑鐨勪竴澶勯敊璇?BR>鎰熻阿 Heallven 鎸囧嚭.COM紼嬪簭瀹炰緥緙栬瘧澶辮觸鐨勯棶棰?/P>

2EA8:D678 -> 鐗╃悊鐨?3C0F8
694E:175A -> 鐗╃悊鐨?6AC4A
26CF:8D5F -> 鐗╃悊鐨?2FA4F
2B3C:D218 -> 鐗╃悊鐨?385E8
453A:CFAD -> 鐗╃悊鐨?5235D
728F:6578 -> 鐗╃悊鐨?78E68
2933:31A6 -> 鐗╃悊鐨?2C4D6
68E1:A7DC -> 鐗╃悊鐨?735FC

緙栫▼
shl eax,4
add eax,bx



]]>浣跨敤瀵勫瓨鍣?http://www.shnenglu.com/ivenher/articles/1068.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 11 Nov 2005 05:09:00 GMThttp://www.shnenglu.com/ivenher/articles/1068.htmlhttp://www.shnenglu.com/ivenher/comments/1068.htmlhttp://www.shnenglu.com/ivenher/articles/1068.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/1068.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/1068.html浣跨敤瀵勫瓨鍣?/FONT>


2.2 浣跨敤瀵勫瓨鍣?/H3>

鍦ㄥ墠涓鑺備腑鐨剎86鍩烘湰瀵勫瓨鍣ㄧ殑浠嬬粛錛屽浜庝竴涓眹緙栬璦緙栫▼浜哄憳鏉ヨ鏄笉鍙垨緙虹殑銆傜幇鍦ㄤ綘鐭ラ亾錛屽瘎瀛樺櫒鏄鐞嗗櫒鍐呴儴鐨勪竴浜涗繚瀛樻暟鎹殑瀛樺偍鍗曞厓銆備粎浠呬簡瑙h繖浜涙槸涓嶈凍浠ュ啓鍑轟竴涓彲鐢ㄧ殑姹囩紪璇█紼嬪簭鐨勶紝浣嗕綘宸茬粡鍙互澶ц嚧璇繪噦涓鑸眹緙栬璦紼嬪簭浜嗭紙涓嶅繀鎯婅錛屽洜涓烘眹緙栬璦鐨勭璁扮鍜岃嫳鏂囧崟璇嶉潪甯告帴榪戯級錛屽洜涓轟綘宸茬粡浜嗚В浜嗗叧浜庡熀鏈瘎瀛樺櫒鐨勭粷澶у鏁扮煡璇嗐?/P>

鍦ㄦ寮忓紩鍏ョ涓涓眹緙栬璦紼嬪簭涔嬪墠錛屾垜綺楃暐鍦頒粙緇嶄竴涓嬫眹緙栬璦涓笉鍚岃繘鍒舵暣鏁扮殑琛ㄧず鏂規硶銆傚鏋滀綘涓嶄簡瑙e崄榪涘埗浠ュ鐨勫叾浠栬繘鍒訛紝璇鋒妸榧犳爣縐誨姩鍒?SPAN class=tip id=oRadixes>榪欓噷銆?/P>

銆銆姹囩紪璇█涓殑鏁存暟甯擱噺琛ㄧず
  • 鍗佽繘鍒舵暣鏁?BR>榪欐槸姹囩紪鍣ㄩ粯璁ょ殑鏁板埗銆傜洿鎺ョ敤鎴戜滑鐔熸倝鐨勮〃紺烘柟寮忚〃紺哄嵆鍙備緥濡傦紝1234琛ㄧず鍗佽繘鍒剁殑1234銆備笉榪囷紝濡傛灉浣犳寚瀹氫簡浣跨敤鍏朵粬鏁板埗錛屾垨鑰呮湁鍑′簨閮借繘琛屽畬鏁村畾涔夌殑灝忕埍濂斤紝涔熷彲浠ュ啓鎴怺鍗佽繘鍒舵暟]d鎴朳鍗佽繘鍒舵暟]D鐨勫艦寮忋?
  • 鍗佸叚榪涘埗鏁?BR>榪欐槸姹囩紪紼嬪簭涓渶甯哥敤鐨勬暟鍒訛紝鎴戜釜浜烘瘮杈冨亸鐖變嬌鐢ㄥ崄鍏繘鍒惰〃紺烘暟鎹紝鑷充簬涓轟粈涔堬紝浠ュ悗鎴戜細浣滆鏄庛傚崄鍏繘鍒舵暟琛ㄧず涓?[鍗佸叚榪涘埗鏁癩h鎴?[鍗佸叚榪涘埗鏁癩H錛屽叾涓紝濡傛灉鍗佸叚榪涘埗鏁扮殑絎竴浣嶆槸鏁板瓧錛屽垯寮澶寸殑0鍙互鐪佺暐銆備緥濡傦紝7fffh, 0ffffh錛岀瓑絳夈?
  • 浜岃繘鍒舵暟
    榪欎篃鏄竴縐嶅父鐢ㄧ殑鏁板埗銆備簩榪涘埗鏁拌〃紺轟負[浜岃繘鍒舵暟]b鎴朳浜岃繘鍒舵暟]B銆備竴鑸▼搴忎腑鐢ㄤ簩榪涘埗鏁拌〃紺烘帺鐮侊紙mask code錛夌瓑鏁版嵁闈炲父鐨勭洿瑙傦紝浣嗛渶瑕佷簺寰堥暱鐨勬暟鎹紙4浣嶄簩榪涘埗鏁扮浉褰撲簬涓浣嶅崄鍏繘鍒舵暟錛夈備緥濡傦紝1010110b銆?
  • 鍏繘鍒舵暟
    鍏繘鍒舵暟鐜板湪宸茬粡涓嶆槸寰堝父鐢ㄤ簡錛堢‘瀹炶繕鍦ㄧ敤錛屼竴涓吀鍨嬬殑渚嬪瓙鏄疷nix鐨勬枃浠跺睘鎬э級銆傚叓榪涘埗鏁扮殑褰㈠紡鏄痆鍏繘鍒舵暟]q銆乕鍏繘鍒舵暟]Q銆乕鍏繘鍒舵暟]o銆乕鍏繘鍒舵暟]O銆備緥濡傦紝777Q銆?/LI>

闇瑕佽鏄庣殑鏄紝榪欎簺鏂規硶鏄拡瀵瑰畯姹囩紪鍣紙渚嬪錛孧ASM銆乀ASM銆丯ASM錛夎鐨勶紝璋冭瘯鍣ㄩ粯璁や嬌鐢ㄥ崄鍏繘鍒惰〃紺烘暣鏁幫紝騫朵笖涓嶉渶瑕佺壒鍒殑澹版槑錛堜緥濡傦紝鍦ㄨ皟璇曞櫒涓洿鎺ョ敤FFFF琛ㄧず鍗佽繘鍒剁殑65535錛岀敤10琛ㄧず鍗佽繘鍒剁殑16錛夈?/P>

鐜板湪鎴戜滑鏉ュ啓涓灝忔姹囩紪紼嬪簭錛屼慨鏀笶AX銆丒BX銆丒CX銆丒DX鐨勬暟鍊箋?/P>

鎴戜滑鍋囧畾紼嬪簭鎵ц涔嬪墠錛屽瘎瀛樺櫒涓殑鏁板兼槸鍏?錛?/P>
? X
H L
EAX 0000 00 00
EBX 0000 00 00
ECX 0000 00 00
EDX 0000 00 00

姝e鍓嶉潰鎻愬埌鐨勶紝EAX鐨勯珮16bit鏄病鏈夊姙娉曠洿鎺ヨ闂殑錛岃孉X瀵瑰簲瀹冪殑浣?6bit錛孉H銆丄L鍒嗗埆瀵瑰簲AX鐨勯珮銆佷綆8bit銆?/P>
mov eax, 012345678h
mov ebx, 0abcdeffeh
mov ecx, 1
mov edx, 2
; 灝?12345678h閫佸叆eax
; 灝?abcdeffeh閫佸叆ebx
; 灝?00000001h閫佸叆ecx
; 灝?00000002h閫佸叆edx

鍒欐墽琛屼笂榪扮▼搴忔涔嬪悗錛屽瘎瀛樺櫒鐨勫唴瀹瑰彉涓猴細

? X
H L
EAX 1234 56 78
EBX abcd ef fe
ECX 0000 00 01
EDX 0000 00 02

閭d箞錛屼綘宸茬粡浜嗚В浜唌ov榪欎釜鎸囦護錛坢ov鏄痬ove鐨勭緝鍐欙級鐨勪竴縐嶇敤娉曘傚畠鍙互灝嗘暟閫佸埌瀵勫瓨鍣ㄤ腑銆傛垜浠潵鐪嬬湅涓嬮潰鐨勪唬鐮侊細

mov eax, ebx
mov ecx, edx
; ebx鍐呭閫佸叆eax
; edx鍐呭閫佸叆ecx

鍒欏瘎瀛樺櫒鍐呭鍙樹負錛?/P>
? X
H L
EAX abcd ef fe
EBX abcd ef fe
ECX 0000 00 02
EDX 0000 00 02

鎴戜滑鍙互鐪嬪埌錛屸渕ove鈥濅箣鍚庯紝鏁版嵁渚濈劧淇濆瓨鍦ㄥ師鏉ョ殑瀵勫瓨鍣ㄤ腑銆備笉濡ㄦ妸mov鎸囦護鐞嗚В涓衡滈佸叆鈥濓紝鎴栤滆鍏モ濄?/P>

緇冧範棰?/B>

鎶婂瘎瀛樺櫒鎭㈠鎴愰兘涓哄叏0鐨勭姸鎬侊紝鐒跺悗鎵ц涓嬮潰鐨勪唬鐮侊細

mov eax, 0a1234h
mov bx, ax
mov ah, bl
mov al, bh
; 灝?a1234h閫佸叆eax
; 灝哸x鐨勫唴瀹歸佸叆bx
; 灝哹l鍐呭閫佸叆ah
; 灝哹h鍐呭閫佸叆al

鎬濊冿細姝ゆ椂錛孍AX鐨勫唴瀹瑰皢鏄灝戯紵[絳旀]

涓嬮潰鎴戜滑灝嗕粙緇嶄竴浜涙寚浠ゃ傚湪浠嬬粛鎸囦護涔嬪墠錛屾垜浠害瀹氾細


銆銆 浣跨敤Intel鏂囨。涓殑瀵勫瓨鍣ㄨ〃紺烘柟寮?/B>

  • reg32 32-bit瀵勫瓨鍣紙琛ㄧずEAX銆丒BX絳夛級
  • reg16 16-bit瀵勫瓨鍣紙鍦?2浣嶅鐞嗗櫒涓紝榪橝X銆丅X絳夛級
  • reg8  8-bit瀵勫瓨鍣紙琛ㄧずAL銆丅H絳夛級
  • imm32 32-bit绔嬪嵆鏁幫紙鍙互鐞嗚В涓哄父鏁幫級
  • imm16 16-bit绔嬪嵆鏁?
  • imm8  8-bit绔嬪嵆鏁?/LI>

鍦ㄥ瘎瀛樺櫒涓澆鍏ュ彟涓瀵勫瓨鍣紝鎴栫珛鍗蟲暟鐨勫鹼細

mov reg32, (reg32 | imm8 | imm16 | imm32)
mov reg32, (reg16 | imm8 | imm16)
mov reg8, (reg8 | imm8)

渚嬪錛宮ov eax, 010h琛ㄧず錛屽湪eax涓澆鍏?0000010h銆傞渶瑕佹敞鎰忕殑鏄紝濡傛灉浣犲笇鏈涘湪瀵勫瓨鍣ㄤ腑瑁呭叆0錛屽垯鏈変竴縐嶆洿蹇殑鏂規硶錛屽湪鍚庨潰鎴戜滑灝嗘彁鍒般?/P>

浜ゆ崲瀵勫瓨鍣ㄧ殑鍐呭錛?/P>
xchg reg32, reg32
xchg reg16, reg16
xchg reg8, reg8

渚嬪錛寈chg ebx, ecx錛屽垯ebx涓巈cx鐨勬暟鍊煎皢琚氦鎹€傜敱浜庣郴緇熸彁渚涗簡榪欎釜鎸囦護錛屽洜姝わ紝閲囩敤鍏朵粬鏂規硶浜ゆ崲鏃訛紝閫熷害灝嗕細杈冩參錛屽茍闇瑕佸崰鐢ㄦ洿澶氱殑瀛樺偍絀洪棿錛岀紪紼嬫椂瑕侀伩鍏嶈繖縐嶆儏鍐碉紝鍗籌紝灝介噺鍒╃敤緋葷粺鎻愪緵鐨勬寚浠わ紝鍥犱負澶氭暟鎯呭喌涓嬶紝榪欐剰鍛崇潃鏇村皬銆佹洿蹇殑浠g爜錛屽悓鏃朵篃鏉滅粷浜嗛敊璇紙濡傛灉璇碔ntel鐨凜PU鍦ㄤ氦鎹㈠瘎瀛樺櫒鍐呭鐨勬椂鍊欎篃浼氬嚭閿欙紝閭d箞瀹冨氨涓嶇敤鍗朇PU浜嗐傝屽浜庝綘鏉ヨ錛屾鏌ヤ竴琛屼唬鐮佺殑姝g‘鎬т篃鏄劇劧姣旀鏌ユ洿澶氫唬鐮佺殑姝g‘鎬ц瀹規槗錛夊垰鎵嶇殑涔犻鐨勭▼搴忕敤涓嬮潰鐨勪唬鐮佸皢鏇存湁鏁堬細

mov eax, 0a1234h
mov bx, ax
xchg ah, al
; 灝?a1234h閫佸叆eax
; 灝哸x鍐呭閫佸叆bx
; 浜ゆ崲ah, al鐨勫唴瀹?/FONT>

閫掑鎴栭掑噺瀵勫瓨鍣ㄧ殑鍊鹼細

inc reg(8,16,32)
dec reg(8,16,32)

榪欎袱涓寚浠ゅ線寰鐢ㄤ簬寰幆涓鎸囬拡鐨勬搷浣溿傞渶瑕佽鏄庣殑鏄紝鏌愪簺鏃跺欐垜浠湁鏇村ソ鐨勬柟娉曟潵澶勭悊寰幆錛屼緥濡備嬌鐢╨oop鎸囦護錛屾垨rep鍓嶇紑銆傝繖浜涘皢鍦ㄥ悗闈㈢殑绔犺妭涓粙緇嶃?/P>

灝嗗瘎瀛樺櫒鐨勬暟鍊間笌鍙︿竴瀵勫瓨鍣紝鎴栫珛鍗蟲暟鐨勫肩浉鍔狅紝騫跺瓨鍥炴瀵勫瓨鍣細

add reg32, reg32 / imm(8,16,32)
add reg16, reg16 / imm(8,16)
add reg8, reg8 / imm(8)

渚嬪錛宎dd eax, edx錛屽皢eax+edx鐨勫煎瓨鍏ax銆傚噺娉曟寚浠ゅ拰鍔犳硶綾諱技錛屽彧鏄皢add鎹㈡垚sub銆?/P>

闇瑕佽鏄庣殑鏄紝涓庨珮綰ц璦涓嶅悓錛屾眹緙栬璦涓紝濡傛灉瑕佽綆椾袱鏁頒箣鍜岋紙宸佺Н銆佸晢錛屾垨涓鑸湴璇達紝榪愮畻緇撴灉錛夛紝閭d箞蹇呯劧鏈変竴涓瘎瀛樺櫒琚敤鏉ヤ繚瀛樼粨鏋溿傚湪PASCAL涓紝鎴戜滑鍙互鐢╪A := nB + nC鏉ヨnA淇濆瓨nB+nC鐨勭粨鏋滐紝鐒惰岋紝姹囩紪璇█騫朵笉鎻愪緵榪欑鏂規硶銆傚鏋滀綘甯屾湜淇濇寔瀵勫瓨鍣ㄤ腑鐨勭粨鏋滐紝闇瑕佺敤鍙﹀鐨勬寚浠ゃ傝繖涔熶粠鍙︿竴涓晶闈㈠弽鏄犱簡鈥滃瘎瀛樺櫒鈥濊繖涓悕瀛楃殑鎰忎箟銆傛暟鎹彧鏄滃瘎瀛樷濆湪閭i噷銆傚鏋滀綘闇瑕佷繚瀛樻暟鎹紝閭d箞闇瑕佸皢瀹冩斁鍒板唴瀛樻垨鍏朵粬鍦版柟銆?/P>

綾諱技鐨勬寚浠よ繕鏈塧nd銆乷r銆亁or錛堜笌錛屾垨錛屽紓鎴栵級絳夌瓑銆傚畠浠繘琛岀殑鏄昏緫榪愮畻銆?/P>

鎴戜滑縐癮dd銆乵ov銆乻ub銆乤nd絳夌О涓轟負鎸囦護鍔╄絎︼紙榪欎箞鍙槸鍥犱負瀹冩瘮鏈哄櫒璇█瀹規槗璁板繂錛岃岃搗浣滅敤灝辨槸鏂逛究浜鴻蹇嗭紝鏌愪簺璧勬枡涓篃縐頒負鎸囦護銆佹搷浣滅爜銆乷pcode[operation code]絳夛級錛涘悗闈㈢殑鍙傛暟鎴愪負鎿嶄綔鏁幫紝涓涓寚浠ゅ彲浠ユ病鏈夋搷浣滄暟錛屼篃鍙互鏈変竴涓や釜鎿嶄綔鏁幫紝閫氬父鏈変竴涓搷浣滄暟鐨勬寚浠わ紝榪欎釜鎿嶄綔鏁板氨鏄畠鐨勬搷浣滃璞★紱鑰屼袱涓弬鏁扮殑鎸囦護錛屽墠涓涓搷浣滄暟涓鑸槸淇濆瓨鎿嶄綔緇撴灉鐨勫湴鏂癸紝鑰屽悗涓涓槸闄勫姞鐨勫弬鏁般?/P>

鎴戜笉鎵撶畻鍦ㄨ繖浠芥暀紼嬩腑鐢ㄥぇ閲忕殑綃囧箙浠嬬粛鎸囦護鈥斺斿緢澶氫漢鍋氬緱姣旀垜鏇村ソ錛岃屼笖鎸囦護鏈韓騫朵笉鏄噸鐐癸紝濡傛灉浣犲浼氫簡濡備綍緇勭粐璇彞錛岄偅涔堝彧瑕佺◢鍔犲涔犲氨鑳借交鏄撴帉鎻″叾浠栨寚浠ゃ傛洿澶氱殑鎸囦護鍙互鍙傝?A >Intel鎻愪緵鐨勮祫鏂欍傜紪鍐欑▼搴忕殑鏃跺欙紝涔熷彲浠ュ弬鑰冧竴浜涘湪綰垮弬鑰冩墜鍐屻俆ech!Help鍜孒elpPC 2.10灝界宸茬粡寰堟棫錛屼絾瓚充互搴斾粯緇濆ぇ澶氭暟闇瑕併?/P>

鑱槑鐨勮鑰呬篃璁稿凡緇忓彂鐜幫紝浣跨敤sub eax, eax錛屾垨鑰厁or eax, eax錛屽彲浠ュ緱鍒頒笌mov eax, 0綾諱技鐨勬晥鏋溿傚湪楂樼駭璇█涓紝浣犲ぇ姒備笉浼氶夋嫨鐢╝=a-a鏉ョ粰a璧嬪鹼紝鍥犱負嫻嬭瘯浼氬憡璇変綘榪欎箞鍋氭洿鎱紝綆鐩村氨鏄湪鑷壘楹葷儲錛岀劧鑰屽湪姹囩紪璇█涓紝浣犱細寰楀埌鐩稿弽鐨勭粨璁猴紝澶氭暟鎯呭喌涓嬶紝浠ョ敱蹇埌鎱㈢殑閫熷害鎺掑垪錛岃繖涓夋潯鎸囦護灝嗘槸xor eax, eax銆乻ub eax, eax鍜宮ov eax, 0銆?/P>

涓轟粈涔堝憿錛熷鐞嗗櫒鍦ㄦ墽琛屾寚浠ゆ椂錛岄渶瑕佺粡榪囧嚑涓笉鍚岀殑闃舵錛氬彇鎸囥佽瘧鐮併佸彇鏁般佹墽琛屻?/P>

鎴戜滑鍙嶅寮鴻皟錛屽瘎瀛樺櫒鏄疌PU鐨勪竴閮ㄥ垎銆備粠瀵勫瓨鍣ㄥ彇鏁幫紝鍏墮熷害寰堟樉鐒惰姣斾粠鍐呭瓨涓彇鏁板揩銆傞偅涔堬紝涓嶉毦鐞嗚В錛寈or eax, eax瑕佹瘮mov eax, 0鏇村揩涓浜涖?/P>

閭d箞錛屼負浠涔坅=a-a閫氬父瑕佹瘮a=0鎱竴浜涘憿錛熻繖鍜岀紪璇戝櫒鐨勪紭鍖栨湁涓瀹氬叧緋匯傚鏁扮紪璇戝櫒浼氭妸a=a-a緲昏瘧鎴愮被浼間笅闈㈢殑浠g爜(閫氬父錛岄珮綰ц璦閫氳繃ebp鍜屽亸縐婚噺鏉ヨ闂眬閮ㄥ彉閲忥紱紼嬪簭涓紝x涓篴鐩稿浜庢湰鍦板爢鐨勫亸縐婚噺錛屽湪鍙寘鍚竴涓?2-bit鏁村艦鍙橀噺鐨勭▼搴忎腑錛岃繖涓奸氬父鏄?)錛?/P>

mov eax, dword ptr [ebp-x]
sub eax, dword ptr [ebp-x]
mov dword ptr [ebp-x],eax

鑰屾妸a=0緲昏瘧鎴?/P>

mov dword ptr [ebp-x], 0

涓婇潰鐨勭炕璇戝彧鏄ず鎰忔х殑錛岀暐鍘諱簡寰堝蹇呰鐨勬楠わ紝濡備繚鎶ゅ瘎瀛樺櫒鍐呭銆佹仮澶嶇瓑絳夈傚鏋滀綘瀵逛笌緙栬瘧紼嬪簭鐨勫疄鐜拌繃紼嬫劅鍏磋叮錛屽彲浠ュ弬鑰冪浉搴旂殑涔︾睄銆傚鏁扮紪璇戝櫒錛堢壒鍒槸C/C++緙栬瘧鍣紝濡侻icrosoft Visual C++錛夐兘鎻愪緵浜嗕粠婧愪唬鐮佸埌瀹忔眹緙栬璦紼嬪簭鐨勯檮鍔犵紪璇戣緭鍑洪夐」銆傝繖縐嶆儏鍐典笅錛屼綘鍙互寰堟柟渚垮湴浜嗚В緙栬瘧紼嬪簭鎵ц鐨勮緭鍑虹粨鏋滐紱濡傛灉緙栬瘧紼嬪簭娌℃湁鎻愪緵榪欐牱鐨勫姛鑳戒篃娌℃湁鍏崇郴錛岃皟璇曞櫒浼氳浣犵湅鍒扮紪璇戝櫒鐨勭紪璇戠粨鏋溿?/P>

濡傛灉浣犳槑紜湴鐭ラ亾緙栬瘧鍣ㄧ紪璇戝嚭鐨勭粨鏋滀笉鏄渶浼樼殑錛岄偅灝卞彲浠ョ潃鎵嬬敤姹囩紪璇█鏉ラ噸鍐欓偅孌典唬鐮佷簡銆傛庝箞紜鏄惁搴旇鐢ㄦ眹緙栬璦閲嶅啓鍛紵


銆銆浣跨敤姹囩紪璇█閲嶅啓浠g爜涔嬪墠闇瑕佺‘璁ょ殑鍑犱歡浜嬫儏
  • 棣栧厛錛岃繖縐嶄紭鍖?B>鏈濂?/B>鏈?B>鏄庢樉鐨勬晥鏋?/B>銆傛瘮濡傦紝涓孌靛驚鐜腑鐨勮綆楋紝絳夌瓑銆備竴鏉¤鍙ョ殑鎵ц鏃墮棿鏄緢鐭殑錛岀幇鍦ㄦ柊鐨凜PU鐨勬寚浠ゅ懆鏈熼兘鍦?.000000001s浠ヤ笅錛孖ntel鐢氳嚦宸茬粡鍋氬嚭浜?GHz涓婚錛堜富棰戠殑鍊掓暟鏄椂閽熷懆鏈燂級鐨凜PU錛屽鏋滀綘鐨勪唬鐮佽嚜濮嬭嚦緇堝彧鎵ц涓嬈★紝騫朵笖浣犲彧鏄噺灝戜簡鍑犱釜鏃墮挓鍛ㄦ湡鐨勬墽琛屾椂闂達紝閭d箞鏀瑰彉灝嗘槸鏃犳硶璁╀漢瀵熻鐨勶紱寰堝鎯呭喌涓嬶紝榪欑鈥滀紭鍖栤濆茍涓嶈鎻愬★紝灝界瀹冪‘瀹炲噺灝戜簡鎵ц鏃墮棿錛屼絾涓烘闇瑕佷粯鍑哄ぇ閲忕殑鏃墮棿銆佷漢鍔涳紝澶氭暟鎯呭喌涓嬪緱涓嶅伩澶憋紙鏋佺鎯呭喌錛屾瘮濡備綘鐨勮澶囧唴瀛樹環鏍奸潪甯告槀璐電殑鏃跺欙紝榪欑浼樺寲涔熻浼氭湁鎰忎箟錛夈?
  • 鍏舵錛岀‘璁や綘宸茬粡浣跨敤浜?B>鏈濂界殑綆楁硶錛屽茍涓旓紝浣犱紭鍖栫殑紼嬪簭鐨勫疄鐜版槸姝g‘鐨勩傛眹緙栬璦鑳藉鎻愪緵鍚屾牱綆楁硶鐨勬渶蹇疄鐜幫紝鐒惰岋紝瀹冨茍涓嶆槸涓囬噾娌癸紝鏇翠笉鏄В鍐充竴鍒囩殑鐏典腹濡欒嵂銆傜敤楂樼駭璇█瀹炵幇涓縐嶅ソ鐨勭畻娉曪紝涓嶄竴瀹氫細姣旀眹緙栬璦瀹炵幇涓縐嶅樊鐨勭畻娉曟洿鎱€備笉榪囬渶瑕佹敞鎰忕殑鏄紝鏃墮棿銆佺┖闂村鏉傚害鏈灝忕殑綆楁硶涓嶄竴瀹氬氨鏄В鍐蟲煇涓鐗瑰畾闂鐨勬渶浣崇畻娉曘備婦渚嬭錛屽揩閫熸帓搴忓湪瀹屽叏閫嗗簭鐨勬儏鍐典笅絳変環浜庡啋娉℃帓搴忥紝榪欐椂鍏朵粬鏂規硶灝辨瘮瀹冨揩銆傚悓鏃訛紝鐢ㄦ眹緙栬璦浼樺寲涓涓笉姝g‘鐨勭畻娉曞疄鐜幫紝灝嗙粰璋冭瘯甯︽潵寰堝ぇ鐨勯夯鐑︺?
  • 鏈鍚庯紝紜浣?B>宸茬粡灝嗛珮綰ц璦緙栬瘧鍣ㄧ殑鎬ц兘鍙戞尌鍒版瀬鑷?/B>銆侻icrosoft鐨勭紪璇戝櫒鍦≧ELEASE妯″紡鍜孌EBUG妯″紡浼氭湁宸紓鐩稿綋澶х殑杈撳嚭錛岃屽浜嶨NU緋誨垪鐨勭紪璇戝櫒鑰岃█錛屼笉鍚岀駭鍒殑浼樺寲涔熶細鐢熸垚鍑犱箮瀹屽叏涓嶅悓鐨勪唬鐮併傛澶栵紝鍦ㄧ紪紼嬫椂瀵逛簬闂鐨勪弗鏍煎畾涔夛紝鍙互鏋佸ぇ鍦板府鍔╃紪璇戝櫒鐨勪紭鍖栬繃紼嬨傚浣曚紭鍖栭珮綰ц璦浠g爜錛屼嬌鍏剁紪璇戠粨鏋滄渶浼樿秴鍑轟簡鏈暀紼嬬殑鑼冨洿錛屼絾濡傛灉浣犱笉鑳界‘璁ゅ凡緇忓彂鎸ヤ簡緙栬瘧鍣ㄧ殑鏈澶ф晥鑳斤紝鐢ㄦ眹緙栬璦寰寰鏄竴縐嶆洿涓鴻垂鍔涚殑鏂規硶銆?
  • 榪樻湁涓鐐歸潪甯擱噸瑕侊紝閭e氨鏄綘鏄庣櫧鑷繁鍋氱殑鏄粈涔堛?/B>濂界殑楂樼駭璇█緙栬瘧鍣ㄦ湁鏃朵細鏈変竴浜涜浜洪毦浠ョ悊瑙g殑琛屼負錛屾瘮濡傦紝閲嶆柊鎺掑垪鎸囦護欏哄簭錛岀瓑絳夈傚鏋滀綘鍙戠幇榪欑鎯呭喌錛岄偅涔堜紭鍖栫殑鏃跺欏氨搴旇灝忓績鈥斺旂紪璇戝櫒寰堝彲鑳芥瘮浣犳嫢鏈夋洿澶氱殑鍏充簬澶勭悊鍣ㄧ殑鐭ヨ瘑錛屼緥濡傦紝瀵逛簬涓涓秴鏍囬噺澶勭悊鍣紝緙栬瘧鍣ㄤ細瀵規寚浠ゅ簭鍒楄繘琛屸滃皝鍖呪濓紝浣夸粬浠敖鍙兘鐨勫茍琛屾墽琛岋紱姝ゅ錛屽畯姹囩紪鍣ㄦ湁鏃朵細鑷姩鎻掑叆涓浜沶op鎸囦護錛屽叾浣滅敤鏄皢鎸囦護鍑戞垚鏁存暟瀛楅暱錛?2-bit錛屽浜?6-bit澶勭悊鍣紝鏄?6-bit錛夈傝繖浜涢兘鏄彁楂樹唬鐮佹ц兘鐨勫繀瑕佹帾鏂斤紝濡傛灉浣犱笉浜嗚В澶勭悊鍣紝閭d箞鏈濂戒笉瑕佹敼鍔ㄧ紪璇戝櫒鐢熸垚鐨勪唬鐮侊紝鍥犱負榪欑鎯呭喌涓嬶紝鐩茬洰鐨勪慨鏀瑰線寰涓嶄細寰楀埌棰勬湡鐨勬晥鏋溿?/LI>

鏇劇粡鍦ㄤ竴浠芥潅蹇椾笂鐪嬪埌榪囨湁浜虹敤綰満鍣ㄨ璦緙栧啓紼嬪簭銆備笉娓呮鍒板簳榪欐槸涓嶆槸緙栬緫鐨勫け璇紝鍥犱負涓涓ご鑴戞甯哥殑浜烘亹鎬曚笉浼氳繖涔堝仛紼嬪簭錛屽嵆浣垮畠涓嶉暱銆佷篃涓嶅鏉傘傞鍏堬紝姹囩紪鍣ㄨ兘澶熷畬鎴愭煇浜涘皝鍖呮搷浣滐紝鍗充嬌涓嶈錛屼篃鍙互鐢╠b浼寚浠ゆ潵鍐欐寚浠わ紱鐢ㄦ眹緙栬璦鍐欑▼搴忓彲浠ラ槻姝㈠緢澶氶敊璇殑鍙戠敓錛屽悓鏃訛紝瀹冭繕鍑忚交浜嗕漢鐨勮礋鎷咃紝寰堟樉鐒訛紝鈥滃畬鍏ㄧ敤鏈哄櫒璇█鍐欑▼搴忊濇槸瀹屽叏娌℃湁蹇呰鐨勶紝鍥犱負姹囩紪璇█鍙互鍋氬嚭瀹屽叏涓鏍風殑浜嬫儏錛屽茍涓斾綘鍙互渚濊禆瀹冿紝鍥犱負璁$畻鏈轟笉浼氬嚭閿欙紝鑰屼漢鎬繪湁鍑洪敊鐨勬椂鍊欍傛澶栵紝濡傚墠闈㈡墍璦錛屽鏋滅敤楂樼駭璇█瀹炵幇紼嬪簭鐨勪唬浠蜂笉澶э紙渚嬪錛岃繖孌典唬鐮佸湪紼嬪簭鐨勬暣涓墽琛岃繃紼嬩腑鍙墽琛屼竴閬嶏紝騫朵笖錛岃繖涓閬嶇殑鎵ц鏃墮棿涔熷皬浜庝竴縐掞級錛岄偅涔堬紝涓轟粈涔堜笉鐢ㄩ珮綰ц璦瀹炵幇鍛紵

涓浜涙瘮杈冪媯鐑殑緙栫▼鐖卞ソ鑰呭彲鑳戒笉澶枩嬈㈡垜鐨勮繖縐嶈鐐廣傛瘮鏂硅錛屼粬浠彲鑳藉笇鏈涚簿鐩婃眰綺懼湴浼樺寲姣忎竴瀛楄妭鐨勪唬鐮併備絾澶氭暟鎯呭喌涓嬫垜浠湁鏇撮噸瑕佺殑浜嬫儏錛屼緥濡傦紝浣犵殑綆楁硶鏄渶浼樼殑鍚楋紵浣犲凡緇忔妸紼嬪簭鍦ㄩ珮綰ц璦璁稿彲鐨勮寖鍥村唴浼樺寲鍒板敖澶翠簡鍚楋紵騫朵笉鏄墍鏈夌殑浜洪兘鏈夎祫鏍艱繖鏍瘋銆傛眹緙栬璦鏄繖鏍蜂竴浠朵笢瑗匡紝瀹冭凍澶熺殑寮哄ぇ錛岃兘澶熸帶鍒惰綆楁満錛屽畬鎴愬畠鑳藉瀹炵幇鐨勪換浣曞姛鑳斤紱鍚屾椂錛屽洜涓哄畠鐨勫己澶э紝涔熶細鎻愰珮寮鍙戞垚鏈紝騫朵笖錛岄毦浜庣淮鎶ゃ傚洜姝わ紝鎴戜釜浜虹殑寤鴻鏄紝濡傛灉鍦ㄨ蔣浠跺紑鍙戜腑浣跨敤姹囩紪璇█錛屽垯搴斿湪杞歡鎺ヨ繎瀹屾垚鐨勬椂鍊欎嬌鐢紝榪欐牱鍙互鍑忓皯寰堝涓嶅繀瑕佺殑鎶曞叆銆?/P>

絎簩绔犱腑錛屾垜浠嬬粛浜唜86緋誨垪澶勭悊鍣ㄧ殑鍩烘湰瀵勫瓨鍣ㄣ傝繖浜涘瘎瀛樺櫒瀵逛簬x86鍏煎澶勭悊鍣ㄤ粛鐒舵槸鏈夋晥鐨勶紝濡傛灉浣犲亸鐖盇MD鐨凜PU錛岄偅涔堜嬌鐢ㄨ繖浜涘瘎瀛樺櫒鐨勭▼搴忓悓鏍蜂篃鍙互姝e父榪愯銆?/P>

涓嶈繃鐜板湪璇寸敤姹囩紪璇█榪涜浼樺寲榪樹負鏃跺皻鏃┾斺斾笉鍙兘鍐欑▼搴忥紝鑰屽彧鎿嶄綔榪欎簺瀵勫瓨鍣紝鍥犱負榪欐牱鍙兘瀹屾垚闈炲父綆鍗曠殑鎿嶄綔錛屾棦鐒舵槸綆鍗曠殑鎿嶄綔錛岄偅鍙兘灝變細璁╀漢瑙夊緱涔忓懗錛岀敋鑷蟲壘涓鍙拌凍澶熷揩鐨勬満鍣ㄧ┓涓懼畠鐨勬墍鏈夌粨鏋滐紙濡傛灉鍙互絀蜂婦鐨勮瘽錛夛紝騫剁洿鎺ュ啓紼嬪簭璋冪敤錛屽洜涓鴻繖鏍烽氬父浼氭洿蹇備絾璇濊鍥炴潵錛岀湅瀹屾帴涓嬫潵鐨勪袱绔犫斺斿唴瀛樺拰鍫嗘爤鎿嶄綔錛屼綘灝卞彲浠ョ嫭绔嬪畬鎴愬嚑涔庢墍鏈夌殑浠誨姟浜嗭紝閰嶅悎絎簲绔犱腑鏂佺鍏珷瀛愮▼搴忕殑鐭ヨ瘑錛屼綘灝嗙煡閬撳浣曢┚椹鐞嗗櫒錛屽茍璁╁畠涓轟綘宸ヤ綔銆?/P>鏁板瓧璁$畻鏈哄唴閮?B>鍙敮鎸?/B>浜岃繘鍒舵暟錛屽洜涓鴻繖鏍瘋綆楁満
鍙渶瑕佽〃紺轟袱縐?鏌愪簺鎯呭喌鏄?縐嶏紝榪欎竴鍐呭瓚呰繃浜?BR>榪欎喚鏁欑▼鐨勮寖鍥達紝濡傛灉鎮ㄦ劅鍏磋叮錛屽彲浠ュ弬鑰冩暟瀛楅?BR>杈戠數璺殑鐩稿叧涔︾睄)鐘舵?  瀵逛簬鐢佃礬鑰岃█錛岃繖琛ㄧ幇
涓洪珮銆佷綆鐢靛鉤錛屾垨鑰呭紑銆佸叧錛屽垎鍒潪甯告槑鏄撅紝鍥犺?BR>宸ヤ綔姣旇緝紼沖畾錛涘彟涓鏂歸潰錛岀敱浜庡彧鏈変袱縐嶇姸鎬侊紝璁?BR>璁¤搗鏉ヤ篃姣旇緝綆鍗曘傝繖鏍鳳紝浣跨敤浜岃繘鍒舵剰鍛崇潃浣庢垚
鏈佺ǔ瀹氾紝澶氭暟鎯呭喌涓嬶紝榪欎篃鎰忓懗鐫蹇熴?

涓庡崄榪涘埗綾諱技錛屾垜浠彲浠ョ敤涓嬮潰鐨勫紡瀛愭潵鎹㈢畻鍑轟竴
涓換鎰忓艦濡俛m-1鈥︹3a2a1a0 鐨刴浣峳榪涘埗鏁板搴旂殑
鏁板糿錛?/P>

紼嬪簭璁捐涓父鐢ㄥ崄鍏繘鍒跺拰鍏繘鍒舵暟瀛椾唬鏇夸簩榪涘埗
鏁幫紝鍏跺師鍥犲湪浜庯紝16鍜?鏄?鐨勬暣嬈℃柟騫傦紝榪欐牱錛屼竴
浣嶅崄鍏垨鍏繘鍒舵暟鍙互琛ㄧず鏁存暟涓簩榪涘埗浣嶃傚崄鍏?BR>榪涘埗涓紝 浣跨敤瀛楁瘝A銆丅銆丆銆丏銆丒銆丗琛ㄧず10-15錛?BR>鑰屽崄鍏繘鍒舵垨鍏繘鍒舵暟鍒惰〃紺虹殑鐨勬暟瀛楁瘮浜岃繘鍒舵暟
鏇寸煭涓浜涖?/P>

EAX鐨勫唴瀹逛負000A3412h.



]]>
瀵勫瓨鍣?http://www.shnenglu.com/ivenher/articles/1067.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 11 Nov 2005 05:06:00 GMThttp://www.shnenglu.com/ivenher/articles/1067.htmlhttp://www.shnenglu.com/ivenher/comments/1067.htmlhttp://www.shnenglu.com/ivenher/articles/1067.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/1067.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/1067.html 

1. 閫氱敤瀵勫瓨鍣?/FONT>:

EAX

(accumulator)"绱姞鍣?,寰堝鍔犳硶涔樻硶鎸囦護鐨勭己鐪?FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>瀵勫瓨鍣?/FONT>.

EBX

(base)"鍩哄湴鍧"瀵勫瓨鍣?/FONT>, 鍦ㄥ唴瀛樺鍧鏃跺瓨鏀懼熀鍦板潃.

 

ECX

(counter)璁℃暟鍣? 鏄噸澶?REP)鍓嶇紑鎸囦護鍜孡OOP鎸囦護鐨勫唴瀹氳鏁?/P>

EDX

鐢ㄦ潵鏀炬暣鏁伴櫎娉曚駭鐢熺殑浣欐暟.

浣?6浣?AX,BX,CX鍜孌X

浣?浣?:AL,BL,CL鍜孌L

楂?浣?:AH,BH,CH鍜孌H

ESI

(source index)"婧愮儲寮?FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>瀵勫瓨鍣?/FONT>", DS:ESI鎸囧悜婧愪覆,濡?瀛楃涓叉搷浣滄寚浠や腑,

EDI

(destination index)"鐩爣绱㈠紩瀵勫瓨鍣?/FONT>",ES:EDI鎸囧悜鐩爣涓?/P>

EBP

(BASE POINTER)"鍩哄潃鎸囬拡",琚敤浣滈珮綰ц璦鍑芥暟璋冪敤鐨?BR>

,ESP(榪欎釜铏界劧閫氱敤,浣?BR>寰堝皯琚敤鍋氶櫎浜嗗爢鏍堟寚閽堝鐨勭敤閫? 榪欎簺32浣嶅彲浠ヨ鐢ㄤ綔澶氱4涓?FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>瀵勫瓨鍣?/FONT>鐨勫張鍙?/P>

 鍑芥暟鐨勮繑鍥炲肩粡甯歌鏀懼湪EAX涓? ESI/EDI鍒嗗埆鍙仛"婧?鐩爣绱㈠紩瀵勫瓨鍣?/FONT>"(source/destination index

),鍥犱負鍦ㄥ緢澶氬瓧絎︿覆鎿嶄綔鎸囦護涓? DS:ESI鎸囧悜婧愪覆,鑰? EBP鏄?鍩哄潃鎸囬拡"(BASE POINTER), 瀹冩渶緇忓父"

妗嗘灦鎸囬拡"(frame pointer). 鍦ㄧ牬瑙g殑鏃跺?緇忓父鍙互鐪嬭涓涓爣鍑嗙殑鍑芥暟璧峰浠g爜: push ebp ;淇濆瓨褰撳墠ebp mov ebp,esp ;EBP璁句負褰撳墠鍫嗘爤鎸囬拡

sub esp, xxx ;棰勭暀xxx瀛楄妭緇欏嚱鏁頒復鏃跺彉閲? ... 榪欐牱涓鏉?EBP 鏋勬垚浜嗚鍑芥暟鐨勪竴涓鏋? 鍦‥BP涓婃柟鍒嗗埆鏄師鏉ョ殑EBP, 榪斿洖鍦板潃鍜屽弬鏁? EBP涓?BR>
鏂瑰垯鏄復鏃跺彉閲? 鍑芥暟榪斿洖鏃朵綔 mov esp,ebp/pop ebp/ret 鍗沖彲. ESP 涓撻棬鐢ㄤ綔鍫嗘爤鎸囬拡. 2. 孌?FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>瀵勫瓨鍣?/FONT>: CS(Code Segment錛屼唬鐮佹) 鎸囧畾褰撳墠鎵?BR>
琛岀殑浠g爜孌? EIP (Instruction pointer, 鎸囦護鎸囬拡)鍒欐寚鍚戣孌典腑涓涓叿浣撶殑鎸囦護. CS:EIP鎸囧悜鍝釜鎸囦護, CPU 灝辨墽琛屽畠. 涓鑸彧鑳界敤jmp, ret,

jnz, call 絳夋寚浠ゆ潵鏀瑰彉紼嬪簭嫻佺▼,鑰屼笉鑳界洿鎺ュ瀹冧滑璧嬪? DS(DATA SEGMENT, 鏁版嵁孌? 鎸囧畾涓涓暟鎹. 娉ㄦ剰:鍦ㄥ綋鍓嶇殑璁$畻鏈虹郴緇熶腑, 浠g爜鍜屾暟

鎹病鏈夋湰璐ㄥ樊鍒? 閮芥槸涓涓蹭簩榪涘埗鏁? 鍖哄埆鍙湪浜庝綘濡備綍鐢ㄥ畠. 渚嬪, CS 鍒跺畾鐨勬鎬繪槸琚敤浣滀唬鐮? 涓鑸笉鑳介氳繃CS鎸囧畾鐨勫湴鍧鍘諱慨鏀硅孌? 鐒惰?BR>
,浣犲彲浠ヤ負鍚屼竴涓鐢寵涓涓暟鎹鎻忚堪絎?鍒悕"鑰岄氳繃DS鏉ヨ闂?淇敼. 鑷慨鏀逛唬鐮佺殑紼嬪簭甯稿姝ゅ仛. ES,FS,GS 鏄緟鍔╃殑孌?FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>瀵勫瓨鍣?/FONT>, 鎸囧畾闄勫姞鐨勬暟

鎹. SS(STACK SEGMENT)鎸囧畾褰撳墠鍫嗘爤孌? ESP 鍒欐寚鍑鴻孌典腑褰撳墠鐨勫爢鏍堥《. 鎵鏈塸ush/pop 緋誨垪鎸囦護閮藉彧瀵筍S:ESP鎸囧嚭鐨勫湴鍧榪涜鎿嶄綔. 3. 鏍囧織

瀵勫瓨鍣?/FONT>(EFLAGS): 璇?FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>瀵勫瓨鍣?/FONT>鏈?2浣?緇勫悎浜嗗悇涓郴緇熸爣蹇? EFLAGS涓鑸笉浣滀負鏁翠綋璁塊棶, 鑰屽彧瀵瑰崟涓鐨勬爣蹇椾綅鎰熷叴瓚? 甯哥敤鐨勬爣蹇楁湁: 榪涗綅鏍囧織C(

CARRY), 鍦ㄥ姞娉曚駭鐢熻繘浣嶆垨鍑忔硶鏈夊熶綅鏃剁疆1, 鍚﹀垯涓?. 闆舵爣蹇梈(ZERO), 鑻ヨ繍綆楃粨鏋滀負0鍒欑疆1, 鍚﹀垯涓? 絎﹀彿浣峉(SIGN), 鑻ヨ繍綆楃粨鏋滅殑鏈楂樹綅緗?BR>
1, 鍒欒浣嶄篃緗?. 婧㈠嚭鏍囧織O(OVERFLOW), 鑻?甯︾鍙?榪愮畻緇撴灉瓚呭嚭鍙〃紺鴻寖鍥? 鍒欑疆1. JXX 緋誨垪鎸囦護灝辨槸鏍規嵁榪欎簺鏍囧織鏉ュ喅瀹氭槸鍚﹁璺寵漿, 浠庤?BR>
瀹炵幇鏉′歡鍒嗘灊. 瑕佹敞鎰?寰堝JXX 鎸囦護鏄瓑浠風殑, 瀵瑰簲鐩稿悓鐨勬満鍣ㄧ爜. 渚嬪, JE 鍜孞Z 鏄竴鏍風殑,閮芥槸褰揨=1鏄煩杞? 鍙湁JMP 鏄棤鏉′歡璺寵漿. JXX 鎸?BR>
浠ゅ垎涓轟袱緇? 鍒嗗埆鐢ㄤ簬鏃犵鍙鋒搷浣滃拰甯︾鍙鋒搷浣? JXX 鍚庨潰鐨?XX" 鏈夊涓嬪瓧姣? 鏃犵鍙鋒搷浣? 甯︾鍙鋒搷浣? A = "ABOVE", 琛ㄧず"楂樹簬" G = "

GREATER", 琛ㄧず"澶т簬" B = "BELOW", 琛ㄧず"浣庝簬" L = "LESS", 琛ㄧず"灝忎簬" C = "CARRY", 琛ㄧず"榪涗綅"鎴?鍊熶綅" O = "OVERFLOW", 琛ㄧず"婧㈠嚭" S

= "SIGN", 琛ㄧず"璐? 閫氱敤絎﹀彿: E = "EQUAL" 琛ㄧず"絳変簬", 絳変環浜嶼 (ZERO) N = "NOT" 琛ㄧず"闈?, 鍗蟲爣蹇楁病鏈夌疆浣? 濡侸NZ "濡傛灉Z娌℃湁緗綅鍒欒煩

杞? Z = "ZERO", 涓嶦鍚? 濡傛灉浠旂粏鎯充竴鎯?灝變細鍙戠幇 JA = JNBE, JAE = JNB, JBE = JNA, JG = JNLE, JGE= JNL, JL= JNGE, .... 4. 绔彛 绔彛

鏄洿鎺ュ拰澶栭儴璁懼閫氳鐨勫湴鏂廣傚璁炬帴鍏ョ郴緇熷悗錛岀郴緇熷氨浼氭妸澶栬鐨勬暟鎹帴鍙f槧灝勫埌鐗瑰畾鐨勭鍙e湴鍧絀洪棿錛岃繖鏍鳳紝浠庤绔彛璇誨叆鏁版嵁灝辨槸浠庡璁捐

鍏ユ暟鎹紝鑰屽悜澶栬鍐欏叆鏁版嵁灝辨槸鍚戠鍙e啓鍏ユ暟鎹傚綋鐒惰繖涓鍒囬兘蹇呴』閬靛驚澶栬鐨勫伐浣滄柟寮忋傜鍙g殑鍦板潃絀洪棿涓庡唴瀛樺湴鍧絀洪棿鏃犲叧錛岀郴緇熸誨叡鎻愪緵瀵?BR>
64K涓?浣嶇鍙g殑璁塊棶錛岀紪鍙?-65535. 鐩擱偦鐨?浣嶇鍙e彲浠ョ粍鎴愭垚涓涓?6浣嶇鍙o紝鐩擱偦鐨?6浣嶇鍙e彲浠ョ粍鎴愪竴涓?2浣嶇鍙c傜鍙h緭鍏ヨ緭鍑虹敱鎸囦護

IN,OUT,INS鍜孫UTS瀹炵幇錛屽叿浣撳彲鍙傝冩眹緙栬璦涔︾睄銆?BR>

 

涓ぎ澶勭悊鍣?CPU)鍦ㄥ井鏈虹郴緇熷浜庘滈瀵兼牳蹇冣濈殑鍦頒綅銆傛眹緙栬璦琚紪璇戞垚鏈哄櫒璇█涔嬪悗錛屽皢鐢卞鐞嗗櫒鏉ユ墽琛屻傞偅涔堬紝棣栧厛璁╂垜浠潵浜嗚В涓涓嬪鐞嗗櫒鐨勪富瑕佷綔鐢紝榪欏皢甯姪浣犳洿濂藉湴椹鵑┉瀹冦?/P>

鍏稿瀷鐨勫鐞嗗櫒鐨勪富瑕佷換鍔″寘鎷?/B>
  • 浠庡唴瀛樹腑鑾峰彇鏈哄櫒璇█鎸囦護錛岃瘧鐮侊紝鎵ц
  • 鏍規嵁鎸囦護浠g爜綆$悊瀹冭嚜宸辯殑瀵勫瓨鍣?
  • 鏍規嵁鎸囦護鎴栬嚜宸辯殑鐨勯渶瑕佷慨鏀瑰唴瀛樼殑鍐呭
  • 鍝嶅簲鍏朵粬紜歡鐨勪腑鏂姹?

涓鑸鏉ワ紝澶勭悊鍣ㄦ嫢鏈夊鏁翠釜緋葷粺鐨勬墍鏈夋葷嚎鐨勬帶鍒舵潈銆傚浜嶪ntel騫沖彴鑰岃█錛屽鐞嗗櫒鎷ユ湁瀵規暟鎹佸唴瀛樺拰鎺у埗鎬葷嚎鐨勬帶鍒舵潈錛屾牴鎹寚浠ゆ帶鍒舵暣涓綆楁満鐨勮繍琛屻傚湪浠ュ悗鐨勭珷鑺備腑錛屾垜浠繕灝嗚璁虹郴緇熶腑鍚屾椂瀛樺湪澶氫釜澶勭悊鍣ㄧ殑鎯呭喌銆?/P>

澶勭悊鍣ㄤ腑鏈変竴浜涘瘎瀛樺櫒錛岃繖浜涘瘎瀛樺櫒鍙互淇濆瓨鐗瑰畾闀垮害鐨勬暟鎹傛煇浜涘瘎瀛樺櫒涓繚瀛樼殑鏁版嵁瀵逛簬緋葷粺鐨勮繍琛屾湁鐗規畩鐨勬剰涔夈?/P>

鏂扮殑澶勭悊鍣ㄥ線寰鎷ユ湁鏇村銆佸叿鏈夋洿澶у瓧闀跨殑瀵勫瓨鍣紝鎻愪緵鏇寸伒媧葷殑鍙栨寚銆佸鍧鏂瑰紡銆?/P>

瀵勫瓨鍣?/B>

濡傚墠鎵榪幫紝澶勭悊鍣ㄤ腑鏈変竴浜涘彲浠ヤ繚瀛樻暟鎹殑鍦版柟琚О浣滃瘎瀛樺櫒銆?/P>

瀵勫瓨鍣ㄥ彲浠ヨ瑁呭叆鏁版嵁錛屼綘涔熷彲浠ュ湪涓嶅悓鐨勫瘎瀛樺櫒涔嬮棿縐誨姩榪欎簺鏁版嵁錛屾垨鑰呭仛綾諱技鐨勪簨鎯呫傚熀鏈笂錛屽儚鍥涘垯榪愮畻銆佷綅榪愮畻絳夎繖浜涜綆楁搷浣滐紝閮戒富瑕佹槸閽堝瀵勫瓨鍣ㄨ繘琛岀殑銆?/P>

棣栧厛璁╂垜鏉ヤ粙緇嶄竴涓?0386涓婃渶甯哥敤鐨?涓氱敤瀵勫瓨鍣ㄣ傚厛鐬х灖涓嬮潰鐨勫浘褰紝璇曠潃鐞嗚В涓涓嬶細

涓婂浘涓紝鏁板瓧琛ㄧず鐨勬槸浣嶃傛垜浠彲浠ョ湅鍑猴紝EAX鏄竴涓?2-bit瀵勫瓨鍣ㄣ傚悓鏃訛紝瀹冪殑浣?6-bit鍙堝彲浠ラ氳繃AX榪欎釜鍚嶅瓧鏉ヨ闂紱AX鍙堣鍒嗕負楂樸佷綆8bit涓ら儴鍒嗭紝鍒嗗埆鐢盇H鍜孉L鏉ヨ〃紺恒?/P>

瀵逛簬EAX銆丄X銆丄H銆丄L鐨勬敼鍙樺悓鏃朵篃浼氬獎鍝嶄笌琚慨鏀圭殑閭d簺瀵勫瓨鍣ㄧ殑鍊箋備粠鑰屼簨瀹炰笂鍙瓨鍦ㄤ竴涓?2-bit鐨勫瘎瀛樺櫒EAX錛岃屽畠鍙互閫氳繃4縐嶄笉鍚岀殑閫斿緞璁塊棶銆?/P>

涔熻閫氳繃鍚嶅瓧鑳藉鏇村鏄撳湴鐞嗚В榪欎簺瀵勫瓨鍣ㄤ箣闂寸殑鍏崇郴銆侲AX涓殑E鐨勬剰鎬濇槸鈥滄墿灞曠殑鈥濓紝鏁翠釜EAX鐨勬剰鎬濇槸鎵╁睍鐨凙X銆俋鐨勬剰鎬滻ntel娌℃湁鏄庣ず錛屾垜涓漢璁や負琛ㄧず瀹冩槸涓涓彲鍙樼殑閲?銆傝孉H銆丄L涓殑H鍜孡鍒嗗埆浠h〃楂樺拰浣?銆?/P>

涓轟粈涔堣榪欎箞鍋氬憿錛熶富瑕佺敱浜庡巻鍙插師鍥犮傛棭鏈熺殑璁$畻鏈烘槸8浣嶇殑錛?086鏄涓涓?6浣嶅鐞嗗櫒錛屽叾閫氱敤瀵勫瓨鍣ㄧ殑鍚嶅瓧鏄疉X錛孊X絳夌瓑錛?0386鏄疘ntel鎺ㄥ嚭鐨勭涓嬈綢A-32緋誨垪澶勭悊鍣紝鎵鏈夌殑瀵勫瓨鍣ㄩ兘琚墿鍏呬負32浣嶃備負浜嗚兘澶熷吋瀹逛互鍓嶇殑16浣嶅簲鐢ㄧ▼搴忥紝80386涓嶈兘灝嗚繖浜涘瘎瀛樺櫒渚濇棫鍛藉悕涓篈X銆丅X錛屽茍涓旂畝鍗曞湴灝嗕粬浠墿鍏呬負32浣嶁斺旇繖灝嗗鍔犲鐞嗗櫒鍦ㄥ鐞嗘寚浠ゆ柟闈㈢殑鎴愭湰銆?/P>

Intel寰鐞嗗櫒鐨勫瘎瀛樺櫒鍒楄〃錛堝湪鏈珷鍏堝彧浠嬬粛80386鐨勫瘎瀛樺櫒錛孧MX瀵勫瓨鍣ㄤ互鍙婂叾浠栨柊涓浠e鐞嗗櫒鐨勬柊瀵勫瓨鍣ㄥ皢鍦ㄤ互鍚庣殑绔犺妭浠嬬粛錛?/P>

閫氱敤瀵勫瓨鍣?/B>
涓嬮潰浠嬬粛閫氱敤瀵勫瓨鍣ㄥ強鍏朵範鎯敤娉曘傞【鍚嶆濅箟錛岄氱敤瀵勫瓨鍣ㄦ槸閭d簺浣犲彲浠ユ牴鎹嚜宸辯殑鎰忔効浣跨敤鐨勫瘎瀛樺櫒錛屼慨鏀逛粬浠殑鍊奸氬父涓嶄細瀵硅綆楁満鐨勮繍琛岄犳垚寰堝ぇ鐨勫獎鍝嶃傞氱敤瀵勫瓨鍣ㄦ渶澶氱殑鐢ㄩ旀槸璁$畻銆?/P>

EAX
32-bit瀹?/P>

閫氱敤瀵勫瓨鍣ㄣ傜浉瀵瑰叾浠栧瘎瀛樺櫒錛屽湪榪涜榪愮畻鏂歸潰姣旇緝甯哥敤銆傚湪淇濇姢妯″紡涓紝涔熷彲浠ヤ綔涓哄唴瀛樺亸縐繪寚閽堬紙姝ゆ椂錛孌S浣滀負孌?瀵勫瓨鍣ㄦ垨閫夋嫨鍣級

EBX
32-bit瀹?/P>

閫氱敤瀵勫瓨鍣ㄣ傞氬父浣滀負鍐呭瓨鍋忕Щ鎸囬拡浣跨敤錛堢浉瀵逛簬EAX銆丒CX銆丒DX錛夛紝DS鏄粯璁ょ殑孌靛瘎瀛樺櫒鎴栭夋嫨鍣ㄣ傚湪淇濇姢妯″紡涓紝鍚屾牱鍙互璧瘋繖涓綔鐢ㄣ?/TD>

ECX
32-bit瀹?/P>

閫氱敤瀵勫瓨鍣ㄣ傞氬父鐢ㄤ簬鐗瑰畾鎸囦護鐨勮鏁般傚湪淇濇姢妯″紡涓紝涔熷彲浠ヤ綔涓哄唴瀛樺亸縐繪寚閽堬紙姝ゆ椂錛孌S浣滀負 瀵勫瓨鍣ㄦ垨孌甸夋嫨鍣級銆?/TD>

EDX
32-bit瀹?/P>

閫氱敤瀵勫瓨鍣ㄣ傚湪鏌愪簺榪愮畻涓綔涓篍AX鐨勬孩鍑哄瘎瀛樺櫒錛堜緥濡備箻銆侀櫎錛夈傚湪淇濇姢妯″紡涓紝涔熷彲浠ヤ綔涓哄唴瀛樺亸縐繪寚閽堬紙姝ゆ椂錛孌S浣滀負孌?瀵勫瓨鍣ㄦ垨閫夋嫨鍣級銆?/TD>

涓婅堪瀵勫瓨鍣ㄥ悓EAX涓鏍峰寘鎷搴旂殑16-bit鍜?-bit鍒嗙粍銆?/P>

鐢ㄤ綔鍐呭瓨鎸囬拡鐨勭壒孌婂瘎瀛樺櫒

ESI
32-bit瀹?

閫氬父鍦ㄥ唴瀛樻搷浣滄寚浠や腑浣滀負鈥滄簮鍦板潃鎸囬拡鈥濅嬌鐢ㄣ傚綋鐒訛紝ESI鍙互琚鍏ヤ換鎰忕殑鏁板鹼紝浣嗛氬父娌℃湁浜烘妸瀹冨綋浣滈氱敤瀵勫瓨鍣ㄦ潵鐢ㄣ侱S鏄粯璁ゆ瀵勫瓨鍣ㄦ垨閫夋嫨鍣ㄣ?/TD>

EDI
32-bit瀹?/P>

閫氬父鍦ㄥ唴瀛樻搷浣滄寚浠や腑浣滀負鈥滅洰鐨勫湴鍧鎸囬拡鈥濅嬌鐢ㄣ傚綋鐒訛紝EDI涔熷彲浠ヨ瑁呭叆浠繪剰鐨勬暟鍊鹼紝浣嗛氬父娌℃湁浜烘妸瀹冨綋浣滈氱敤瀵勫瓨鍣ㄦ潵鐢ㄣ侱S鏄粯璁ゆ瀵勫瓨鍣ㄦ垨閫夋嫨鍣ㄣ?/TD>

EBP
32-bit瀹?/P>

榪欎篃鏄竴涓綔涓烘寚閽堢殑瀵勫瓨鍣ㄣ傞氬父錛屽畠琚珮綰ц璦緙栬瘧鍣ㄧ敤浠ュ緩閫犫樺爢鏍堝撫鈥欐潵淇濆瓨鍑芥暟鎴栬繃紼嬬殑灞閮ㄥ彉閲忥紝涓嶈繃錛岃繕鏄偅鍙ヨ瘽錛屼綘鍙互鍦ㄥ叾涓繚瀛樹綘甯屾湜鐨勪換浣曟暟鎹係S鏄畠鐨勯粯璁ゆ瀵勫瓨鍣ㄦ垨閫夋嫨鍣ㄣ?/TD>

娉ㄦ剰錛岃繖涓変釜瀵勫瓨鍣ㄦ病鏈夊搴旂殑8-bit鍒嗙粍銆傛崲璦涔嬶紝浣犲彲浠ラ氳繃SI銆丏I銆丅P浣滀負鍒悕璁塊棶浠栦滑鐨勪綆16浣嶏紝鍗存病鏈夊姙娉曠洿鎺ヨ闂粬浠殑浣?浣嶃?/P>

孌靛瘎瀛樺櫒鍜岄夋嫨鍣?/B>

瀹炴ā寮忎笅鐨勬瀵勫瓨鍣ㄥ埌淇濇姢妯″紡涓嬫憞韜竴鍙樺氨鎴愪簡閫夋嫨鍣ㄣ備笉鍚岀殑鏄紝瀹炴ā寮忎笅鐨勨滄瀵勫瓨鍣ㄢ濇槸16-bit鐨勶紝鑰屼繚鎶ゆā寮忎笅鐨勯夋嫨鍣ㄦ槸32-bit鐨勩?/P>

CS 浠g爜孌碉紝鎴栦唬鐮侀夋嫨鍣ㄣ傚悓IP瀵勫瓨鍣?紼嶅悗浠嬬粛)涓鍚屾寚鍚戝綋鍓嶆鍦ㄦ墽琛岀殑閭d釜鍦板潃銆傚鐞嗗櫒鎵ц鏃朵粠榪欎釜瀵勫瓨鍣ㄦ寚鍚戠殑孌碉紙瀹炴ā寮忥級鎴栧唴瀛橈紙淇濇姢妯″紡錛変腑鑾峰彇鎸囦護銆傞櫎浜嗚煩杞垨鍏朵粬鍒嗘敮鎸囦護涔嬪錛屼綘鏃犳硶淇敼榪欎釜瀵勫瓨鍣ㄧ殑鍐呭銆?/TD>
DS 鏁版嵁孌碉紝鎴栨暟鎹夋嫨鍣ㄣ傝繖涓瘎瀛樺櫒鐨勪綆16 bit榪炲悓ESI涓鍚屾寚鍚戠殑鎸囦護灝嗚澶勭悊鐨勫唴瀛樸傚悓鏃訛紝鎵鏈夌殑鍐呭瓨鎿嶄綔鎸囦護 榛樿鎯呭喌涓嬮兘鐢ㄥ畠鎸囧畾鎿嶄綔孌?瀹炴ā寮?鎴栧唴瀛?浣滀負閫夋嫨鍣紝鍦ㄤ繚鎶ゆā寮忋傝繖涓瘎瀛樺櫒鍙互琚鍏ヤ換鎰忔暟鍊鹼紝鐒惰屽湪榪欎箞鍋氱殑鏃跺欓渶瑕佸皬蹇冧竴浜涖傛柟娉曟槸錛岄鍏堟妸鏁版嵁閫佺粰AX錛岀劧鍚庡啀鎶婂畠浠嶢X浼犻佺粰DS(褰撶劧錛屼篃鍙互閫氳繃鍫嗘爤鏉ュ仛).
ES 闄勫姞孌碉紝鎴栭檮鍔犻夋嫨鍣ㄣ傝繖涓瘎瀛樺櫒鐨勪綆16 bit榪炲悓EDI涓鍚屾寚鍚戠殑鎸囦護灝嗚澶勭悊鐨勫唴瀛樸傚悓鏍風殑錛岃繖涓瘎瀛樺櫒鍙互琚鍏ヤ換鎰忔暟鍊鹼紝鏂規硶鍜孌S綾諱技銆?/TD>
FS F孌墊垨F閫夋嫨鍣?鎺ㄦ祴F鍙兘鏄疐ree?)銆傚彲浠ョ敤榪欎釜瀵勫瓨鍣ㄤ綔涓洪粯璁ゆ瀵勫瓨鍣ㄦ垨閫夋嫨鍣ㄧ殑涓涓浛浠e搧銆傚畠鍙互琚鍏ヤ換浣曟暟鍊鹼紝鏂規硶鍜孌S綾諱技銆?/TD>
GS G孌墊垨G閫夋嫨鍣?G鐨勬剰涔夊拰F涓鏍鳳紝娌℃湁鍦↖ntel鐨勬枃妗d腑瑙i噴)銆傚畠鍜孎S鍑犱箮瀹屽叏涓鏍楓?/TD>
SS 鍫嗘爤孌墊垨鍫嗘爤閫夋嫨鍣ㄣ傝繖涓瘎瀛樺櫒鐨勪綆16 bit榪炲悓ESP涓鍚屾寚鍚戜笅涓嬈″爢鏍堟搷浣?push鍜宲op)鎵瑕佷嬌鐢ㄧ殑鍫嗘爤鍦板潃銆傝繖涓瘎瀛樺櫒涔熷彲浠ヨ瑁呭叆浠繪剰鏁板鹼紝浣犲彲浠ラ氳繃鍏ユ爤鍜屽嚭鏍堟搷浣滄潵緇欎粬璧嬪鹼紝涓嶈繃鐢變簬鍫嗘爤瀵逛簬寰堝鎿嶄綔鏈夊緢閲嶈鐨勬剰涔夛紝鍥犳錛屼笉姝g‘鐨勪慨鏀規湁鍙兘閫犳垚瀵瑰爢鏍堢殑鐮村潖銆?/TD>

* 娉ㄦ剰 涓瀹氫笉瑕佸湪鍒濆姹囩紪鐨勯樁孌墊妸榪欎簺瀵勫瓨鍣ㄥ紕娣楓備粬浠潪甯擱噸瑕侊紝鑰屼竴鏃︿綘鎺屾彙浜嗕粬浠紝浣犲氨鍙互瀵逛粬浠仛浠繪剰鐨勬搷浣滀簡銆傛瀵勫瓨鍣紝鎴栭夋嫨鍣紝鍦ㄦ病鏈夋寚瀹氱殑鎯呭喌涓嬮兘鏄嬌鐢ㄩ粯璁ょ殑閭d釜銆傝繖鍙ヨ瘽鍦ㄧ幇鍦ㄧ湅鏉ュ彲鑳芥湁鐐圭█閲岀硦娑傦紝涓嶈繃浣犲緢蹇氨浼氬湪鍚庨潰鐭ラ亾濡備綍鍘誨仛銆?/P>

鐗規畩瀵勫瓨鍣?鎸囧悜鍒扮壒瀹氭鎴栧唴瀛樼殑鍋忕Щ閲?錛?/P>

EIP 榪欎釜瀵勫瓨鍣ㄩ潪甯哥殑閲嶈銆傝繖鏄竴涓?2浣嶅鐨勫瘎瀛樺櫒 錛屽悓CS涓鍚屾寚鍚戝嵆灝嗘墽琛岀殑閭f潯鎸囦護鐨勫湴鍧銆備笉鑳藉鐩存帴淇敼榪欎釜瀵勫瓨鍣ㄧ殑鍊鹼紝淇敼瀹冪殑鍞竴鏂規硶鏄煩杞垨鍒嗘敮鎸囦護銆?CS鏄粯璁ょ殑孌墊垨閫夋嫨鍣?
ESP 榪欎釜32浣嶅瘎瀛樺櫒鎸囧悜鍫嗘爤涓嵆灝嗚鎿嶄綔鐨勯偅涓湴鍧銆傚敖綆″彲浠ヤ慨鏀瑰畠鐨勫鹼紝鐒惰屽茍涓嶆彁鍊¤繖鏍峰仛錛屽洜涓哄鏋滀綘涓嶆槸闈炲父鏄庣櫧鑷繁鍦ㄥ仛浠涔堬紝閭d箞浣犲彲鑳介犳垚鍫嗘爤鐨勭牬鍧忋傚浜庣粷澶у鏁版儏鍐佃岃█錛岃繖瀵圭▼搴忔槸鑷村懡鐨勩?SS鏄粯璁ょ殑孌墊垨閫夋嫨鍣?

IP: Instruction Pointer, 鎸囦護鎸囬拡
SP: Stack Pointer, 鍫嗘爤鎸囬拡

濂戒簡錛屼笂闈㈡槸鏈鍩烘湰鐨勫瘎瀛樺櫒銆備笅闈㈡槸涓浜涘叾浠栫殑瀵勫瓨鍣紝浣犵敋鑷沖彲鑳芥病鏈夊惉璇磋繃瀹冧滑銆?閮芥槸32浣嶅)錛?/P>

CR0, CR2, CR3(鎺у埗瀵勫瓨鍣?銆備婦涓涓緥瀛愶紝CR0鐨勪綔鐢ㄦ槸鍒囨崲瀹炴ā寮忓拰淇濇姢妯″紡銆?/P>

榪樻湁鍏朵粬涓浜涘瘎瀛樺櫒錛孌0, D1, D2, D3, D6鍜孌7(璋冭瘯瀵勫瓨鍣?銆備粬浠彲浠ヤ綔涓鴻皟璇曞櫒鐨勭‖浠舵敮鎸佹潵璁劇疆鏉′歡鏂偣銆?/P>

TR3, TR4, TR5, TR6 鍜?TR? 瀵勫瓨鍣?嫻嬭瘯瀵勫瓨鍣?鐢ㄤ簬鏌愪簺鏉′歡嫻嬭瘯銆?/P>

鏈鍚庢垜浠璇寸殑鏄竴涓湪紼嬪簭璁捐涓搗鐫闈炲父鍏抽敭鐨勪綔鐢ㄧ殑瀵勫瓨鍣細鏍囧織瀵勫瓨鍣ㄣ?/P>



]]>棰勫鐞嗚繃紼?/title><link>http://www.shnenglu.com/ivenher/articles/916.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Thu, 03 Nov 2005 03:30:00 GMT</pubDate><guid>http://www.shnenglu.com/ivenher/articles/916.html</guid><wfw:comment>http://www.shnenglu.com/ivenher/comments/916.html</wfw:comment><comments>http://www.shnenglu.com/ivenher/articles/916.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ivenher/comments/commentRss/916.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ivenher/services/trackbacks/916.html</trackback:ping><description><![CDATA[<SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">                                                 <FONT color=#000000 size=5><STRONG> 棰勫鐞嗚繃紼?/STRONG></FONT><BR><BR>棰勫鐞嗚繃紼嬫壂鎻忔簮浠g爜錛屽鍏惰繘琛屽垵姝ョ殑杞崲錛屼駭鐢熸柊鐨勬簮浠g爜鎻愪緵緇欑紪璇戝櫒銆傚彲瑙侀澶勭悊榪囩▼鍏堜簬緙栬瘧鍣ㄥ婧愪唬鐮佽繘琛屽鐞嗐?SPAN lang=EN-US><BR></SPAN>鍦?SPAN lang=EN-US>C</SPAN>璇█涓紝騫舵病鏈変換浣曞唴鍦ㄧ殑鏈哄埗鏉ュ畬鎴愬涓嬩竴浜涘姛鑳斤細鍦ㄧ紪璇戞椂鍖呭惈鍏朵粬婧愭枃浠躲佸畾涔夊畯銆佹牴鎹潯浠跺喅瀹氱紪璇戞椂鏄惁鍖呭惈鏌愪簺浠g爜銆傝瀹屾垚榪欎簺宸ヤ綔錛屽氨闇瑕佷嬌鐢ㄩ澶勭悊紼嬪簭銆傚敖綆″湪鐩墠緇濆ぇ澶氭暟緙栬瘧鍣ㄩ兘鍖呭惈浜嗛澶勭悊紼嬪簭錛屼絾閫氬父璁や負瀹冧滑鏄嫭绔嬩簬緙栬瘧鍣ㄧ殑銆傞澶勭悊榪囩▼璇誨叆婧愪唬鐮侊紝媯鏌ュ寘鍚澶勭悊鎸囦護鐨勮鍙ュ拰瀹忓畾涔夛紝騫跺婧愪唬鐮佽繘琛屽搷搴旂殑杞崲銆傞澶勭悊榪囩▼榪樹細鍒犻櫎紼嬪簭涓殑娉ㄩ噴鍜屽浣欑殑絀虹櫧瀛楃銆?SPAN lang=EN-US><BR></SPAN>棰勫鐞嗘寚浠ゆ槸浠?SPAN lang=EN-US>#</SPAN>鍙峰紑澶寸殑浠g爜琛屻?SPAN lang=EN-US>#</SPAN>鍙峰繀欏繪槸璇ヨ闄や簡浠諱綍絀虹櫧瀛楃澶栫殑絎竴涓瓧絎︺?SPAN lang=EN-US>#</SPAN>鍚庢槸鎸囦護鍏抽敭瀛楋紝鍦ㄥ叧閿瓧鍜?SPAN lang=EN-US>#</SPAN>鍙蜂箣闂村厑璁稿瓨鍦ㄤ換鎰忎釜鏁扮殑絀虹櫧瀛楃銆傛暣琛岃鍙ユ瀯鎴愪簡涓鏉¢澶勭悊鎸囦護錛岃鎸囦護灝嗗湪緙栬瘧鍣ㄨ繘琛岀紪璇戜箣鍓嶅婧愪唬鐮佸仛鏌愪簺杞崲銆備笅闈㈡槸閮ㄥ垎棰勫鐞嗘寚浠わ細<SPAN lang=EN-US><BR><BR>        </SPAN>鎸囦護<SPAN lang=EN-US>             </SPAN>鐢ㄩ?SPAN lang=EN-US><BR>         #           </SPAN>絀烘寚浠わ紝鏃犱換浣曟晥鏋?SPAN lang=EN-US><BR>         #include    </SPAN>鍖呭惈涓涓簮浠g爜鏂囦歡<SPAN lang=EN-US><BR>         #define     </SPAN>瀹氫箟瀹?SPAN lang=EN-US><BR>         #undef      </SPAN>鍙栨秷宸插畾涔夌殑瀹?SPAN lang=EN-US><BR>         #if         </SPAN>濡傛灉緇欏畾鏉′歡涓虹湡錛屽垯緙栬瘧涓嬮潰浠g爜<SPAN lang=EN-US><BR>         #ifdef      </SPAN>濡傛灉瀹忓凡緇忓畾涔夛紝鍒欑紪璇戜笅闈唬鐮?SPAN lang=EN-US><BR>         #ifndef     </SPAN>濡傛灉瀹忔病鏈夊畾涔夛紝鍒欑紪璇戜笅闈唬鐮?SPAN lang=EN-US><BR>         #elif       </SPAN>濡傛灉鍓嶉潰鐨?SPAN lang=EN-US>#if</SPAN>緇欏畾鏉′歡涓嶄負鐪燂紝褰撳墠鏉′歡涓虹湡錛屽垯緙栬瘧涓嬮潰浠g爜<SPAN lang=EN-US><BR>         #endif      </SPAN>緇撴潫涓涓?SPAN lang=EN-US>#if</SPAN>鈥︹?SPAN lang=EN-US>#else</SPAN>鏉′歡緙栬瘧鍧?SPAN lang=EN-US><BR>         #error      </SPAN>鍋滄緙栬瘧騫舵樉紺洪敊璇俊鎭?SPAN lang=EN-US><BR><BR></SPAN>涓銆佹枃浠跺寘鍚?SPAN lang=EN-US><BR>    #include</SPAN>棰勫鐞嗘寚浠ょ殑浣滅敤鏄湪鎸囦護澶勫睍寮琚寘鍚殑鏂囦歡銆傚寘鍚彲浠ユ槸澶氶噸鐨勶紝涔熷氨鏄涓涓鍖呭惈鐨勬枃浠朵腑榪樺彲浠ュ寘鍚叾浠栨枃浠躲傛爣鍑?SPAN lang=EN-US>C</SPAN>緙栬瘧鍣ㄨ嚦灝戞敮鎸佸叓閲嶅祵濂楀寘鍚?SPAN lang=EN-US><BR>    </SPAN>棰勫鐞嗚繃紼嬩笉媯鏌ュ湪杞崲鍗曞厓涓槸鍚﹀凡緇忓寘鍚簡鏌愪釜鏂囦歡騫墮樆姝㈠瀹冪殑澶氭鍖呭惈銆傝繖鏍峰氨鍙互鍦ㄥ嬈″寘鍚悓涓涓ご鏂囦歡鏃訛紝閫氳繃緇欏畾緙栬瘧鏃剁殑鏉′歡鏉ヨ揪鍒頒笉鍚岀殑鏁堟灉銆備緥濡傦細<SPAN lang=EN-US><BR><BR>        #define AAA<BR>        #include "t.c"<BR>        #undef AAA<BR>        #include "t.c"<BR><BR>    </SPAN>涓轟簡閬垮厤閭d簺鍙兘鍖呭惈涓嬈$殑澶存枃浠惰澶氭鍖呭惈錛屽彲浠ュ湪澶存枃浠朵腑鐢ㄧ紪璇戞椂鏉′歡鏉ヨ繘琛屾帶鍒躲備緥濡傦細<SPAN lang=EN-US><BR>        /*my.h*/<BR>        #ifndef MY_H<BR>        #define MY_H<BR>          </SPAN>鈥︹?SPAN lang=EN-US><BR>        #endif<BR><BR>    </SPAN>鍦ㄧ▼搴忎腑鍖呭惈澶存枃浠舵湁涓ょ鏍煎紡錛?SPAN lang=EN-US><BR>        #include <my.h><BR>        #include "my.h"<BR>    </SPAN>絎竴縐嶆柟娉曟槸鐢ㄥ皷鎷彿鎶婂ご鏂囦歡鎷搗鏉ャ傝繖縐嶆牸寮忓憡璇夐澶勭悊紼嬪簭鍦ㄧ紪璇戝櫒鑷甫鐨勬垨澶栭儴搴撶殑澶存枃浠朵腑鎼滅儲琚寘鍚殑澶存枃浠躲傜浜岀鏂規硶鏄敤鍙屽紩鍙鋒妸澶存枃浠舵嫭璧鋒潵銆傝繖縐嶆牸寮忓憡璇夐澶勭悊紼嬪簭鍦ㄥ綋鍓嶈緙栬瘧鐨勫簲鐢ㄧ▼搴忕殑婧愪唬鐮佹枃浠朵腑鎼滅儲琚寘鍚殑澶存枃浠訛紝濡傛灉鎵句笉鍒幫紝鍐嶆悳绱㈢紪璇戝櫒鑷甫鐨勫ご鏂囦歡銆?SPAN lang=EN-US><BR>    </SPAN>閲囩敤涓ょ涓嶅悓鍖呭惈鏍煎紡鐨勭悊鐢卞湪浜庯紝緙栬瘧鍣ㄦ槸瀹夎鍦ㄥ叕鍏卞瓙鐩綍涓嬬殑錛岃岃緙栬瘧鐨勫簲鐢ㄧ▼搴忔槸鍦ㄥ畠浠嚜宸辯殑縐佹湁瀛愮洰褰曚笅鐨勩備竴涓簲鐢ㄧ▼搴忔棦鍖呭惈緙栬瘧鍣ㄦ彁渚涚殑鍏叡澶存枃浠訛紝涔熷寘鍚嚜瀹氫箟鐨勭鏈夊ご鏂囦歡銆傞噰鐢ㄤ袱縐嶄笉鍚岀殑鍖呭惈鏍煎紡浣垮緱緙栬瘧鍣ㄨ兘澶熷湪寰堝澶存枃浠朵腑鍖哄埆鍑轟竴緇勫叕鍏辯殑澶存枃浠躲?SPAN lang=EN-US><BR><BR></SPAN>浜屻佸畯<SPAN lang=EN-US><BR>    </SPAN>瀹忓畾涔変簡涓涓唬琛ㄧ壒瀹氬唴瀹圭殑鏍囪瘑絎︺傞澶勭悊榪囩▼浼氭妸婧愪唬鐮佷腑鍑虹幇鐨勫畯鏍囪瘑絎︽浛鎹㈡垚瀹忓畾涔夋椂鐨勫箋傚畯鏈甯歌鐨勭敤娉曟槸瀹氫箟浠h〃鏌愪釜鍊肩殑鍏ㄥ眬絎﹀彿銆傚畯鐨勭浜岀鐢ㄦ硶鏄畾涔夊甫鍙傛暟鐨勫畯錛岃繖鏍風殑瀹忓彲浠ヨ薄鍑芥暟涓鏍瘋璋冪敤錛屼絾瀹冩槸鍦ㄨ皟鐢ㄨ鍙ュ灞曞紑瀹忥紝騫剁敤璋冪敤鏃剁殑瀹為檯鍙傛暟鏉ヤ唬鏇垮畾涔変腑鐨勫艦寮忓弬鏁般?SPAN lang=EN-US><BR>    1.#define</SPAN>鎸囦護<SPAN lang=EN-US><BR>        #define</SPAN>棰勫鐞嗘寚浠ゆ槸鐢ㄦ潵瀹氫箟瀹忕殑銆傝鎸囦護鏈綆鍗曠殑鏍煎紡鏄細棣栧厛紲炴槑涓涓爣璇嗙錛岀劧鍚庣粰鍑鴻繖涓爣璇嗙浠h〃鐨勪唬鐮併傚湪鍚庨潰鐨勬簮浠g爜涓紝灝辯敤榪欎簺浠g爜鏉ユ浛浠h鏍囪瘑絎︺傝繖縐嶅畯鎶婄▼搴忎腑瑕佺敤鍒扮殑涓浜涘叏灞鍊兼彁鍙栧嚭鏉ワ紝璧嬬粰涓浜涜蹇嗘爣璇嗙銆?SPAN lang=EN-US><BR>            #define MAX_NUM 10<BR>            int array[MAX_NUM];<BR>            for(i=0;i<MAX_NUM;i++)  /*</SPAN>鈥︹?SPAN lang=EN-US>*/<BR>        <BR>        </SPAN>鍦ㄨ繖涓緥瀛愪腑錛屽浜庨槄璇昏紼嬪簭鐨勪漢鏉ヨ錛岀鍙?SPAN lang=EN-US>MAX_NUM</SPAN>灝辨湁鐗瑰畾鐨勫惈涔夛紝瀹冧唬琛ㄧ殑鍊肩粰鍑轟簡鏁扮粍鎵鑳藉綰崇殑鏈澶у厓绱犳暟鐩傜▼搴忎腑鍙互澶氭浣跨敤榪欎釜鍊箋備綔涓轟竴縐嶇害瀹氾紝涔犳儻涓婃繪槸鍏ㄩ儴鐢ㄥぇ鍐欏瓧姣嶆潵瀹氫箟瀹忥紝榪欐牱鏄撲簬鎶婄▼搴忕孩鐨勫畯鏍囪瘑絎﹀拰涓鑸彉閲忔爣璇嗙鍖哄埆寮鏉ャ傚鏋滄兂瑕佹敼鍙樻暟緇勭殑澶у皬錛屽彧闇瑕佹洿鏀瑰畯瀹氫箟騫墮噸鏂扮紪璇戠▼搴忓嵆鍙?SPAN lang=EN-US><BR>        </SPAN>瀹忚〃紺虹殑鍊煎彲浠ユ槸涓涓父閲忚〃杈懼紡錛屽叾涓厑璁稿寘鎷墠闈㈠凡緇忓畾涔夌殑瀹忔爣璇嗙銆備緥濡傦細<SPAN lang=EN-US><BR>            #define ONE 1<BR>            #define TWO 2<BR>            #define THREE (ONE+TWO)<BR>        </SPAN>娉ㄦ剰涓婇潰鐨勫畯瀹氫箟浣跨敤浜嗘嫭鍙楓傚敖綆″畠浠茍涓嶆槸蹇呴』鐨勩備絾鍑轟簬璋ㄦ厧鑰冭檻錛岃繕鏄簲璇ュ姞涓婃嫭鍙風殑銆備緥濡傦細<SPAN lang=EN-US><BR>            six=THREE*TWO;<BR>        </SPAN>棰勫鐞嗚繃紼嬫妸涓婇潰鐨勪竴琛屼唬鐮佽漿鎹㈡垚錛?SPAN lang=EN-US><BR>            six=(ONE+TWO)*TWO;<BR>        </SPAN>濡傛灉娌℃湁閭d釜鎷彿錛屽氨杞崲鎴?SPAN lang=EN-US>six=ONE+TWO*TWO;</SPAN>浜嗐?SPAN lang=EN-US><BR>        </SPAN>瀹忚繕鍙互浠h〃涓涓瓧絎︿覆甯擱噺錛屼緥濡傦細<SPAN lang=EN-US><BR>            #define VERSION "Version 1.0 Copyright(c) 2003"<BR>    2.</SPAN>甯﹀弬鏁扮殑<SPAN lang=EN-US>#define</SPAN>鎸囦護<SPAN lang=EN-US><BR>        </SPAN>甯﹀弬鏁扮殑瀹忓拰鍑芥暟璋冪敤鐪嬭搗鏉ユ湁浜涚浉浼箋傜湅涓涓緥瀛愶細<SPAN lang=EN-US><BR>            #define Cube(x) (x)*(x)*(x)<BR>        </SPAN>鍙互鏃朵換浣曟暟瀛楄〃杈懼紡鐢氳嚦鍑芥暟璋冪敤鏉ヤ唬鏇垮弬鏁?SPAN lang=EN-US>x</SPAN>銆傝繖閲屽啀嬈℃彁閱掑ぇ瀹舵敞鎰忔嫭鍙風殑浣跨敤銆傚畯灞曞紑鍚庡畬鍏ㄥ寘鍚湪涓瀵規嫭鍙蜂腑錛岃屼笖鍙傛暟涔熷寘鍚湪鎷彿涓紝榪欐牱灝變繚璇佷簡瀹忓拰鍙傛暟鐨勫畬鏁存с傜湅涓涓敤娉曪細<SPAN lang=EN-US><BR>            int num=8+2;<BR>            volume=Cube(num);<BR>        </SPAN>灞曞紑鍚庝負<SPAN lang=EN-US>(8+2)*(8+2)*(8+2);<BR>        </SPAN>濡傛灉娌℃湁閭d簺鎷彿灝卞彉涓?SPAN lang=EN-US>8+2*8+2*8+2</SPAN>浜嗐?SPAN lang=EN-US><BR>        </SPAN>涓嬮潰鐨勭敤娉曟槸涓嶅畨鍏ㄧ殑錛?SPAN lang=EN-US><BR>            volume=Cube(num++);<BR>        </SPAN>濡傛灉<SPAN lang=EN-US>Cube</SPAN>鏄竴涓嚱鏁幫紝涓婇潰鐨勫啓娉曟槸鍙互鐞嗚В鐨勩備絾鏄紝鍥犱負<SPAN lang=EN-US>Cube</SPAN>鏄竴涓畯錛屾墍浠ヤ細浜х敓鍓綔鐢ㄣ傝繖閲岀殑鎿︿功涓嶆槸綆鍗曠殑琛ㄨ揪寮忥紝瀹冧滑灝嗕駭鐢熸剰鎯充笉鍒扮殑緇撴灉銆傚畠浠睍寮鍚庢槸榪欐牱鐨勶細<SPAN lang=EN-US><BR>            volume=(num++)*(num++)*(num++);<BR>        </SPAN>寰堟樉鐒訛紝緇撴灉鏄?SPAN lang=EN-US>10*11*12,</SPAN>鑰屼笉鏄?SPAN lang=EN-US>10*10*10;<BR>        </SPAN>閭d箞鎬庢牱瀹夊叏鐨勪嬌鐢?SPAN lang=EN-US>Cube</SPAN>瀹忓憿錛熷繀欏繪妸鍙兘浜х敓鍓綔鐢ㄧ殑鎿嶄綔縐誨埌瀹忚皟鐢ㄧ殑澶栭潰榪涜錛?SPAN lang=EN-US><BR>            int num=8+2;<BR>            volume=Cube(num);<BR>            num++;<BR>    3.#</SPAN>榪愮畻絎?SPAN lang=EN-US><BR>        </SPAN>鍑虹幇鍦ㄥ畯瀹氫箟涓殑<SPAN lang=EN-US>#</SPAN>榪愮畻絎︽妸璺熷湪鍏跺悗鐨勫弬鏁拌漿鎹㈡垚涓涓瓧絎︿覆銆傛湁鏃舵妸榪欑鐢ㄦ硶鐨?SPAN lang=EN-US>#</SPAN>縐頒負瀛楃涓插寲榪愮畻絎︺備緥濡傦細<SPAN lang=EN-US><BR><BR>            #define PASTE(n) "adhfkj"#n<BR><BR>            main()<BR>            {<BR>               printf("%s\n",PASTE(15));<BR>            }<BR>        </SPAN>瀹忓畾涔変腑鐨?SPAN lang=EN-US>#</SPAN>榪愮畻絎﹀憡璇夐澶勭悊紼嬪簭錛屾妸婧愪唬鐮佷腑浠諱綍浼犻掔粰璇ュ畯鐨勫弬鏁拌漿鎹㈡垚涓涓瓧絎︿覆銆傛墍浠ヨ緭鍑哄簲璇ユ槸<SPAN lang=EN-US>adhfkj15</SPAN>銆?SPAN lang=EN-US><BR>    4.##</SPAN>榪愮畻絎?SPAN lang=EN-US><BR>        ##</SPAN>榪愮畻絎︾敤浜庢妸鍙傛暟榪炴帴鍒頒竴璧楓傞澶勭悊紼嬪簭鎶婂嚭鐜板湪<SPAN lang=EN-US>##</SPAN>涓や晶鐨勫弬鏁板悎騫舵垚涓涓鍙楓傜湅涓嬮潰鐨勪緥瀛愶細<SPAN lang=EN-US><BR><BR>            #define NUM(a,b,c) a##b##c<BR>            #define STR(a,b,c) a##b##c<BR><BR>            main()<BR>            {<BR>                printf("%d\n",NUM(1,2,3));<BR>                printf("%s\n",STR("aa","bb","cc"));<BR>            }<BR><BR>        </SPAN>鏈鍚庣▼搴忕殑杈撳嚭涓?SPAN lang=EN-US>:<BR>                 123<BR>                 aabbcc<BR>        </SPAN>鍗冧竾鍒媴蹇冿紝闄ら潪闇瑕佹垨鑰呭畯鐨勭敤娉曟伆濂藉拰鎵嬪ご鐨勫伐浣滅浉鍏籌紝鍚﹀垯寰堝皯鏈夌▼搴忓憳浼氱煡閬?SPAN lang=EN-US>##</SPAN>榪愮畻絎︺傜粷澶у鏁扮▼搴忓憳浠庢潵娌$敤榪囧畠銆?SPAN lang=EN-US><BR><BR></SPAN>涓夈佹潯浠剁紪璇戞寚浠?SPAN lang=EN-US><BR>    </SPAN>鏉′歡緙栬瘧鎸囦護灝嗗喅瀹氶偅浜涗唬鐮佽緙栬瘧錛岃屽摢浜涙槸涓嶈緙栬瘧鐨勩傚彲浠ユ牴鎹〃杈懼紡鐨勫兼垨鑰呮煇涓壒瀹氱殑瀹忔槸鍚﹁瀹氫箟鏉ョ‘瀹氱紪璇戞潯浠躲?SPAN lang=EN-US><BR>    1.#if</SPAN>鎸囦護<SPAN lang=EN-US><BR>        #if</SPAN>鎸囦護媯嫻嬭窡鍦ㄥ埗閫犲彟鍏抽敭瀛楀悗鐨勫父閲忚〃杈懼紡銆傚鏋滆〃杈懼紡涓虹湡錛屽垯緙栬瘧鍚庨潰鐨勪唬鐮侊紝鐭ラ亾鍑虹幇<SPAN lang=EN-US>#else</SPAN>銆?SPAN lang=EN-US>#elif</SPAN>鎴?SPAN lang=EN-US>#endif</SPAN>涓烘錛涘惁鍒欏氨涓嶇紪璇戙?SPAN lang=EN-US><BR>    2.#endif</SPAN>鎸囦護<SPAN lang=EN-US><BR>        #endif</SPAN>鐢ㄤ簬緇堟<SPAN lang=EN-US>#if</SPAN>棰勫鐞嗘寚浠ゃ?SPAN lang=EN-US><BR><BR>            #define DEBUG 0<BR>            main()<BR>            {<BR>                #if DEBUG<BR>                    printf("Debugging\n");<BR>                #endif<BR>                    printf("Running\n");<BR>            }<BR><BR>        </SPAN>鐢變簬紼嬪簭瀹氫箟<SPAN lang=EN-US>DEBUG</SPAN>瀹忎唬琛?SPAN lang=EN-US>0</SPAN>錛屾墍浠?SPAN lang=EN-US>#if</SPAN>鏉′歡涓哄亣錛屼笉緙栬瘧鍚庨潰鐨勪唬鐮佺洿鍒?SPAN lang=EN-US>#endif</SPAN>錛屾墍浠ョ▼搴忕洿鎺ヨ緭鍑?SPAN lang=EN-US>Running</SPAN>銆?SPAN lang=EN-US><BR>        </SPAN>濡傛灉鍘繪帀<SPAN lang=EN-US>#define</SPAN>璇彞錛屾晥鏋滄槸涓鏍風殑銆?SPAN lang=EN-US><BR>    3.#ifdef</SPAN>鍜?SPAN lang=EN-US>#ifndef<BR>        #define DEBUG<BR><BR>        main()<BR>        {<BR>            #ifdef DEBUG<BR>                printf("yes\n");<BR>            #endif<BR>            #ifndef DEBUG<BR>                printf("no\n");<BR>            #endif<BR>        }<BR>        #if defined</SPAN>絳変環浜?SPAN lang=EN-US>#ifdef; #if !defined</SPAN>絳変環浜?SPAN lang=EN-US>#ifndef<BR>    4.#else</SPAN>鎸囦護<SPAN lang=EN-US><BR>        #else</SPAN>鎸囦護鐢ㄤ簬鏌愪釜<SPAN lang=EN-US>#if</SPAN>鎸囦護涔嬪悗錛屽綋鍓嶉潰鐨?SPAN lang=EN-US>#if</SPAN>鎸囦護鐨勬潯浠朵笉涓虹湡鏃訛紝灝辯紪璇?SPAN lang=EN-US>#else</SPAN>鍚庨潰鐨勪唬鐮併?SPAN lang=EN-US>#endif</SPAN>鎸囦護灝嗕腑鎸囦笂闈㈢殑鏉′歡鍧椼?SPAN lang=EN-US><BR><BR>        #define DEBUG<BR><BR>        main()<BR>        {<BR>            #ifdef DEBUG<BR>                printf("Debugging\n");<BR>            #else<BR>                printf("Not debugging\n");<BR>            #endif<BR>                printf("Running\n");<BR>       }<BR><BR>    5.#elif</SPAN>鎸囦護<SPAN lang=EN-US><BR>        #elif</SPAN>棰勫鐞嗘寚浠ょ患鍚堜簡<SPAN lang=EN-US>#else</SPAN>鍜?SPAN lang=EN-US>#if</SPAN>鎸囦護鐨勪綔鐢ㄣ?SPAN lang=EN-US><BR><BR>        #define TWO<BR><BR>        main()<BR>        {<BR>            #ifdef ONE<BR>                printf("1\n");<BR>            #elif defined TWO<BR>                printf("2\n");<BR>            #else<BR>                printf("3\n");<BR>            #endif<BR>        }<BR>        </SPAN>紼嬪簭寰堝ソ鐞嗚В錛屾渶鍚庤緭鍑虹粨鏋滄槸<SPAN lang=EN-US>2</SPAN>銆?SPAN lang=EN-US><BR><BR>    6.</SPAN>鍏朵粬涓浜涙爣鍑嗘寚浠?SPAN lang=EN-US><BR>        #error</SPAN>鎸囦護灝嗕嬌緙栬瘧鍣ㄦ樉紺轟竴鏉¢敊璇俊鎭紝鐒跺悗鍋滄緙栬瘧銆?SPAN lang=EN-US><BR>        #line</SPAN>鎸囦護鍙互鏀瑰彉緙栬瘧鍣ㄧ敤鏉ユ寚鍑鴻鍛婂拰閿欒淇℃伅鐨勬枃浠跺彿鍜岃鍙楓?SPAN lang=EN-US><BR>        #pragma</SPAN>鎸囦護娌℃湁姝e紡鐨勫畾涔夈傜紪璇戝櫒鍙互鑷畾涔夊叾鐢ㄩ斻傚吀鍨嬬殑鐢ㄦ硶鏄姝㈡垨鍏佽鏌愪簺鐑︿漢鐨勮鍛婁俊鎭?/SPAN><img src ="http://www.shnenglu.com/ivenher/aggbug/916.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2005-11-03 11:30 <a href="http://www.shnenglu.com/ivenher/articles/916.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://hs045.com" target="_blank">欧美成熟视频</a>| <a href="http://sihu1515hh.com" target="_blank">亚洲伊人色欲综合网</a>| <a href="http://173168.com" target="_blank">久久久精品国产99久久精品芒果</a>| <a href="http://23230066.com" target="_blank">中文国产成人精品久久一</a>| <a href="http://music444.com" target="_blank">欧美视频二区</a>| <a href="http://jzsp101.com" target="_blank">欧美在线在线</a>| <a href="http://zyjzz.com" target="_blank">免费观看成人</a>| <a href="http://www55747.com" target="_blank">亚洲少妇中出一区</a>| <a href="http://hfztkyhfz.com" target="_blank">亚洲欧美大片</a>| <a href="http://193youwu.com" target="_blank">在线日韩av</a>| <a href="http://ykk7.com" target="_blank">一本到12不卡视频在线dvd</a>| <a href="http://lgcpvip888.com" target="_blank">国产精品久久看</a>| <a href="http://szxrdr.com" target="_blank">久久青青草综合</a>| <a href="http://mysuteng.com" target="_blank">欧美激情中文字幕一区二区</a>| <a href="http://sz-jyqj.com" target="_blank">午夜精品久久久久久久蜜桃app</a>| <a href="http://4884888.com" target="_blank">性做久久久久久久免费看</a>| <a href="http://yiluee.com" target="_blank">在线看成人片</a>| <a href="http://2061856.com" target="_blank">99精品热视频只有精品10</a>| <a href="http://88xjj.com" target="_blank">国产午夜精品福利</a>| <a href="http://bauyu121.com" target="_blank">最新成人在线</a>| <a href="http://highfivewe.com" target="_blank">国产精品久久久久久av下载红粉</a>| <a href="http://ynzhuoyi.com" target="_blank">久久久久久一区二区</a>| <a href="http://www3344xz.com" target="_blank">欧美成人一品</a>| <a href="http://0934photo.com" target="_blank">久久久久99</a>| <a href="http://77smsm.com" target="_blank">欧美日韩直播</a>| <a href="http://556626.com" target="_blank">欧美肥婆在线</a>| <a href="http://www-4997.com" target="_blank">国产视频在线观看一区二区</a>| <a href="http://hmm47.com" target="_blank">亚洲国产成人在线播放</a>| <a href="http://97caoporm.com" target="_blank">国产欧美日韩综合一区在线播放</a>| <a href="http://aaa798.com" target="_blank">免费美女久久99</a>| <a href="http://012928.com" target="_blank">国产精品老牛</a>| <a href="http://niu96.com" target="_blank">亚洲日韩欧美视频</a>| <a href="http://wanshunpu.com" target="_blank">国产婷婷色综合av蜜臀av</a>| <a href="http://gbandal.com" target="_blank">日韩视频在线永久播放</a>| <a href="http://kissgz.com" target="_blank">亚洲成色精品</a>| <a href="http://www-474736.com" target="_blank">午夜在线成人av</a>| <a href="http://xiaoyaer.com" target="_blank">亚洲视频电影在线</a>| <a href="http://nxhjzddata.com" target="_blank">免费日本视频一区</a>| <a href="http://9906w.com" target="_blank">久久人91精品久久久久久不卡</a>| <a href="http://91x8.com" target="_blank">欧美天天影院</a>| <a href="http://961318.com" target="_blank">亚洲激情婷婷</a>| <a href="http://ttmitch.com" target="_blank">亚洲精品1区</a>| <a href="http://yzsss.com" target="_blank">久久国产一区二区三区</a>| <a href="http://www-188445.com" target="_blank">亚洲欧美日韩一区二区在线 </a>| <a href="http://2343ww.com" target="_blank">亚洲福利视频网</a>| <a href="http://www-55655.com" target="_blank">午夜免费久久久久</a>| <a href="http://www344399.com" target="_blank">亚洲婷婷综合色高清在线</a>| <a href="http://5555547.com" target="_blank">免费不卡在线视频</a>| <a href="http://sifeksa.com" target="_blank">老牛嫩草一区二区三区日本</a>| <a href="http://yw8333.com" target="_blank">国产亚洲激情</a>| <a href="http://9kkkb.com" target="_blank">亚洲欧美一区二区三区久久</a>| <a href="http://avjj80.com" target="_blank">亚洲性视频网站</a>| <a href="http://666777v3.com" target="_blank">欧美日韩免费精品</a>| <a href="http://xiyan88.com" target="_blank">亚洲高清不卡</a>| <a href="http://tk263.com" target="_blank">亚洲裸体视频</a>| <a href="http://clgtzz.com" target="_blank">欧美精品亚洲精品</a>| <a href="http://xxxyyy168.com" target="_blank">久久久噜噜噜久噜久久</a>| <a href="http://www-3844444.com" target="_blank">亚洲精品国产精品国产自</a>| <a href="http://submro.com" target="_blank">欧美专区日韩专区</a>| <a href="http://wwww20.com" target="_blank">久久久久久久精</a>| <a href="http://m72722.com" target="_blank">国产亚洲欧美一级</a>| <a href="http://b871.com" target="_blank">欧美一区二区三区四区视频</a>| <a href="http://cfqcgw.com" target="_blank">亚洲一区二区免费看</a>| <a href="http://133686.com" target="_blank">亚洲综合色自拍一区</a>| <a href="http://aqdit2022.com" target="_blank">欧美丝袜一区二区</a>| <a href="http://nebnb89.com" target="_blank">在线一区二区三区四区五区</a>| <a href="http://yada-jg.com" target="_blank">亚洲女同同性videoxma</a>| <a href="http://jlkcjz.com" target="_blank">国产精品毛片在线</a>| <a href="http://wb2014.com" target="_blank">亚洲欧美中文在线视频</a>| <a href="http://888ppxx.com" target="_blank">欧美在线视频免费播放</a>| <a href="http://638179.com" target="_blank">国产日韩在线不卡</a>| <a href="http://quintostdio.com" target="_blank">欧美在线精品一区</a>| <a href="http://jzsp121.com" target="_blank">欧美α欧美αv大片</a>| <a href="http://bbbbyb.com" target="_blank">最新日韩av</a>| <a href="http://305838.com" target="_blank">欧美三级日本三级少妇99</a>| <a href="http://www36633.com" target="_blank">艳妇臀荡乳欲伦亚洲一区</a>| <a href="http://7mxing.com" target="_blank">亚洲欧美韩国</a>| <a href="http://118017.com" target="_blank">国产小视频国产精品</a>| <a href="http://yjdm296.com" target="_blank">久久人人97超碰人人澡爱香蕉</a>| <a href="http://567acg.com" target="_blank">久久人人97超碰精品888</a>| <a href="http://c7lc.com" target="_blank">亚洲国产精品综合</a>| <a href="http://scptw.com" target="_blank">欧美三级免费</a>| <a href="http://990288.com" target="_blank">欧美一区2区视频在线观看 </a>| <a href="http://jzsp94.com" target="_blank">亚洲精品久久久久</a>| <a href="http://3dxxoo.com" target="_blank">欧美少妇一区二区</a>| <a href="http://f9494.com" target="_blank">久久成人18免费观看</a>| <a href="http://chunhuigk.com" target="_blank">欧美成人资源网</a>| <a href="http://7788444.com" target="_blank">亚洲在线成人</a>| <a href="http://jiangnanmm.com" target="_blank">黄色成人av网</a>| <a href="http://798814.com" target="_blank">欧美日韩精品是欧美日韩精品</a>| <a href="http://cao3e8c8.com" target="_blank">亚洲欧美不卡</a>| <a href="http://98tangav.com" target="_blank">欧美高清不卡</a>| <a href="http://sg-lxs.com" target="_blank">欧美一区二区性</a>| <a href="http://44779c.com" target="_blank">亚洲乱码一区二区</a>| <a href="http://372469.com" target="_blank">国产日韩欧美在线看</a>| <a href="http://www-s8.com" target="_blank">欧美 日韩 国产 一区</a>| <a href="http://xxxyyy168.com" target="_blank">亚洲午夜黄色</a>| <a href="http://517hc5.com" target="_blank">亚洲成人在线视频播放 </a>| <a href="http://www-5013.com" target="_blank">欧美激情综合</a>| <a href="http://erodasy.com" target="_blank">亚洲欧美日本伦理</a>| <a href="http://www51avav.com" target="_blank">亚洲国产精品一区二区第四页av </a>| <a href="http://aimashe.com" target="_blank">**网站欧美大片在线观看</a>| <a href="http://cscjxs.com" target="_blank">欧美三级午夜理伦三级中文幕</a>| <a href="http://chaoxibg.com" target="_blank">亚洲综合色激情五月</a>| <a href="http://390642.com" target="_blank">亚洲国产第一</a>| <a href="http://zjkgjt.com" target="_blank">久久视频在线看</a>| <a href="http://ategpu.com" target="_blank">亚洲午夜羞羞片</a>| <a href="http://am3757.com" target="_blank">亚洲黄一区二区三区</a>| <a href="http://26mmmm.com" target="_blank">国产麻豆精品视频</a>| <a href="http://39ddtv.com" target="_blank">欧美日韩国产成人高清视频</a>| <a href="http://951738.com" target="_blank">久久国产日韩</a>| <a href="http://540669.com" target="_blank">亚洲尤物在线视频观看</a>| <a href="http://yyy922.com" target="_blank">亚洲激情一区</a>| <a href="http://7345jj.com" target="_blank">蜜桃视频一区</a>| <a href="http://10669p.com" target="_blank">久久久国产亚洲精品</a>| <a href="http://wnboke.com" target="_blank">亚洲女性喷水在线观看一区</a>| <a href="http://91pero.com" target="_blank">亚洲欧洲日产国产综合网</a>| <a href="http://qq6699.com" target="_blank">国产欧美 在线欧美</a>| <a href="http://f9494.com" target="_blank">欧美吻胸吃奶大尺度电影</a>| <a href="http://www901aaa.com" target="_blank">欧美成年人视频网站欧美</a>| <a href="http://www-888690.com" target="_blank">欧美一区二区三区四区在线观看地址 </a>| <a href="http://zgztby.com" target="_blank">午夜欧美大尺度福利影院在线看</a>| <a href="http://rosi2030.com" target="_blank">亚洲国产成人高清精品</a>| <a href="http://17ccem.com" target="_blank">国产婷婷色一区二区三区四区</a>| <a href="http://576193.com" target="_blank">欧美日韩国产首页</a>| <a href="http://18cgh.com" target="_blank">欧美成人精品</a>| <a href="http://www8888803.com" target="_blank">久久三级视频</a>| <a href="http://916969.com" target="_blank">国内精品久久久久影院 日本资源</a>| <a href="http://4bbbbb.com" target="_blank">欧美午夜www高清视频</a>| <a href="http://18av18.com" target="_blank">欧美精品videossex性护士</a>| <a href="http://gg5gg.com" target="_blank">玖玖综合伊人</a>| <a href="http://goldure.com" target="_blank">久久精品视频99</a>| <a href="http://j88866.com" target="_blank">久久精品国产一区二区电影</a>| <a href="http://668756.com" target="_blank">亚洲欧美日韩网</a>| <a href="http://www979vv.com" target="_blank">亚洲欧美高清</a>| <a href="http://aijiaoji.com" target="_blank">性高湖久久久久久久久</a>| <a href="http://eastasp.com" target="_blank">亚洲午夜精品网</a>| <a href="http://hbzbjxzz.com" target="_blank">亚洲一区二区精品在线</a>| <a href="http://dzyhjx.com" target="_blank">亚洲视频www</a>| <a href="http://hnjlhgw.com" target="_blank">亚洲影视在线</a>| <a href="http://51duanxinmao.com" target="_blank">亚洲欧美另类在线观看</a>| <a href="http://www-440450.com" target="_blank">亚洲尤物影院</a>| <a href="http://gzpurefaith.com" target="_blank">欧美亚洲一级</a>| <a href="http://ipx758.com" target="_blank">久久久伊人欧美</a>| <a href="http://huohuoglobal.com" target="_blank">美玉足脚交一区二区三区图片</a>| <a href="http://maokk88.com" target="_blank">久久亚洲不卡</a>| <a href="http://3wbb.com" target="_blank">欧美高清视频在线播放</a>| <a href="http://uu6623.com" target="_blank">欧美日韩国产首页在线观看</a>| <a href="http://sxhrsmjj.com" target="_blank">欧美视频一区二</a>| <a href="http://ewaygou.com" target="_blank">国产精品日韩精品欧美在线</a>| <a href="http://qiansemf.com" target="_blank">国产精品久久国产精品99gif</a>| <a href="http://nebnb89.com" target="_blank">国产精品久久亚洲7777</a>| <a href="http://hnspygxjscyfwzx.com" target="_blank">国产精品日本</a>| <a href="http://maisuper.com" target="_blank">国内精品一区二区三区</a>| <a href="http://8eb26.com" target="_blank">亚洲国产成人在线播放</a>| <a href="http://www-067.com" target="_blank">亚洲老司机av</a>| <a href="http://www-222kkk.com" target="_blank">亚洲欧美经典视频</a>| <a href="http://haochen072.com" target="_blank">久久爱另类一区二区小说</a>| <a href="http://www330849.com" target="_blank">久久免费视频这里只有精品</a>| <a href="http://joy-learn.com" target="_blank">免费成人黄色</a>| <a href="http://5110010.com" target="_blank">亚洲精品在线二区</a>| <a href="http://www308eee.com" target="_blank">亚洲欧美另类在线</a>| <a href="http://562595.com" target="_blank">久久亚洲精品一区二区</a>| <a href="http://1069024.com" target="_blank">欧美日韩国产一中文字不卡</a>| <a href="http://ccc3636.com" target="_blank">国产精品理论片在线观看</a>| <a href="http://sdkingpin.com" target="_blank">国产综合色产在线精品</a>| <a href="http://9238479.com" target="_blank">亚洲精品美女免费</a>| <a href="http://580388.com" target="_blank">午夜国产精品影院在线观看 </a>| <a href="http://tristooges.com" target="_blank">卡通动漫国产精品</a>| <a href="http://clgtzz.com" target="_blank">亚洲国产精品电影在线观看</a>| <a href="http://5101h.com" target="_blank">一本综合久久</a>| <a href="http://91see8.com" target="_blank">久久视频在线视频</a>| <a href="http://580388.com" target="_blank">欧美日韩另类视频</a>| <a href="http://chengli88.com" target="_blank">国产一区二区三区久久久久久久久</a>| <a href="http://5456yy.com" target="_blank">亚洲高清不卡</a>| <a href="http://www308eee.com" target="_blank">午夜精品久久久久影视</a>| <a href="http://48655aa.com" target="_blank">欧美jizz19性欧美</a>| <a href="http://gzw33.com" target="_blank">亚洲综合精品自拍</a>| <a href="http://kgg93.com" target="_blank">免费久久99精品国产</a>| <a href="http://9486322.com" target="_blank">国产精品久久久久久久久免费</a>| <a href="http://8842aa.com" target="_blank">精品av久久707</a>| <a href="http://a718fun.com" target="_blank">亚洲欧美电影院</a>| <a href="http://lingshidu.com" target="_blank">免费成人网www</a>| <a href="http://9273829.com" target="_blank">亚洲婷婷综合色高清在线</a>| <a href="http://0085212.com" target="_blank">久久美女艺术照精彩视频福利播放</a>| <a href="http://njggmy.com" target="_blank">欧美日韩伦理在线免费</a>| <a href="http://hhjc7.com" target="_blank">欲香欲色天天天综合和网</a>| <a href="http://a718fun.com" target="_blank">亚洲欧美日韩一区二区</a>| <a href="http://ddnwater.com" target="_blank">亚洲高清电影</a>| <a href="http://topjavhd.com" target="_blank">久久精品视频亚洲</a>| <a href="http://kuaikan97.com" target="_blank">国产精品久久久久一区二区</a>| <a href="http://335848.com" target="_blank">91久久精品久久国产性色也91</a>| <a href="http://www5xzz1.com" target="_blank">欧美在线一级视频</a>| <a href="http://2061375.com" target="_blank">一区二区三区四区国产精品</a>| <a href="http://227237.com" target="_blank">欧美1区2区3区</a>| <a href="http://811914.com" target="_blank">伊人久久噜噜噜躁狠狠躁</a>| <a href="http://ttzbdl.com" target="_blank">欧美一区二区三区免费观看</a>| <a href="http://hengbang50.com" target="_blank">亚洲国产欧美另类丝袜</a>| <a href="http://universehb.com" target="_blank">久久久精品视频成人</a>| <a href="http://www387333.com" target="_blank">国产情人综合久久777777</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>