锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品国产精品国产自,国产日韩精品一区二区浪潮av,亚洲激情视频http://m.shnenglu.com/tdweng/category/14700.htmlzh-cnMon, 11 Oct 2010 08:31:56 GMTMon, 11 Oct 2010 08:31:56 GMT60鍫嗗拰鏍堢殑鍖哄埆 (杞創(chuàng))http://m.shnenglu.com/tdweng/articles/129415.html蹇?jī)缇?/dc:creator>蹇?jī)缇?/author>Mon, 11 Oct 2010 02:45:00 GMThttp://m.shnenglu.com/tdweng/articles/129415.htmlhttp://m.shnenglu.com/tdweng/comments/129415.htmlhttp://m.shnenglu.com/tdweng/articles/129415.html#Feedback0http://m.shnenglu.com/tdweng/comments/commentRss/129415.htmlhttp://m.shnenglu.com/tdweng/services/trackbacks/129415.html闈炴湰浜轟綔涔?鍥犻潪甯哥粡鍏?鎵浠ユ敹褰掓棗涓?涓庝紬浜洪槄涔?鍘熶綔鑰呬笉紲?

鍫嗗拰鏍堢殑鍖哄埆
涓銆侀澶囩煡璇嗏旂▼搴忕殑鍐呭瓨鍒嗛厤
涓涓敱c/C++緙栬瘧鐨勭▼搴忓崰鐢ㄧ殑鍐呭瓨鍒嗕負(fù)浠ヤ笅鍑犱釜閮ㄥ垎
1銆佹爤鍖猴紙stack錛夆?nbsp;鐢辯紪璇戝櫒鑷姩鍒嗛厤閲婃斁 錛屽瓨鏀懼嚱鏁扮殑鍙傛暟鍊鹼紝灞閮ㄥ彉閲忕殑鍊肩瓑銆傚叾鎿嶄綔鏂瑰紡綾諱技浜庢暟鎹粨鏋勪腑鐨勬爤銆?br>2銆佸爢鍖猴紙heap錛?nbsp;鈥?nbsp;涓鑸敱紼嬪簭鍛樺垎閰嶉噴鏀撅紝 鑻ョ▼搴忓憳?shù)笉閲婃斁锛尳E嬪簭緇撴潫鏃跺彲鑳界敱O(jiān)S鍥炴敹 銆傛敞鎰忓畠涓庢暟鎹粨鏋勪腑鐨勫爢鏄袱鍥炰簨錛屽垎閰嶆柟寮忓掓槸綾諱技浜庨摼琛紝鍛靛懙銆?br>3銆佸叏灞鍖猴紙闈?rùn)鎬佸尯錛夛紙static錛夆旓紝鍏ㄥ眬鍙橀噺鍜岄潤(rùn)鎬佸彉閲忕殑瀛樺偍鏄斁鍦ㄤ竴鍧楃殑錛屽垵濮嬪寲鐨勫叏灞鍙橀噺鍜岄潤(rùn)鎬佸彉閲忓湪涓鍧楀尯鍩燂紝 鏈垵濮嬪寲鐨勫叏灞鍙橀噺鍜屾湭鍒濆鍖栫殑闈?rùn)鎬佸彉閲忓湪鐩擱偦鐨勫彟涓鍧楀尯鍩熴?nbsp;- 紼嬪簭緇撴潫鍚庢湁緋葷粺閲婃斁 
4銆佹枃瀛楀父閲忓尯鈥斿父閲忓瓧絎︿覆灝辨槸鏀懼湪榪欓噷鐨勩?nbsp;紼嬪簭緇撴潫鍚庣敱緋葷粺閲婃斁
5銆佺▼搴忎唬鐮佸尯鈥斿瓨鏀懼嚱鏁頒綋鐨勪簩榪涘埗浠g爜銆?br>浜屻佷緥瀛愮▼搴?nbsp;
榪欐槸涓涓墠杈堝啓鐨勶紝闈炲父璇︾粏 
//main.cpp 
int a = 0; 鍏ㄥ眬鍒濆鍖栧尯 
char *p1; 鍏ㄥ眬鏈垵濮嬪寲鍖?nbsp;
main() 

int b; 鏍?nbsp;
char s[] = "abc"; 鏍?nbsp;
char *p2; 鏍?nbsp;
char *p3 = "123456"; 123456\0鍦ㄥ父閲忓尯錛宲3鍦ㄦ爤涓娿?nbsp;
static int c =0錛?nbsp;鍏ㄥ眬錛堥潤(rùn)鎬侊級(jí)鍒濆鍖栧尯 
p1 = (char *)malloc(10); 
p2 = (char *)malloc(20); 
鍒嗛厤寰楁潵寰?0鍜?0瀛楄妭鐨勫尯鍩熷氨鍦ㄥ爢鍖恒?nbsp;
strcpy(p1, "123456"); 123456\0鏀懼湪甯擱噺鍖猴紝緙栬瘧鍣ㄥ彲鑳戒細(xì)灝嗗畠涓巔3鎵鎸囧悜鐨?123456"浼樺寲鎴愪竴涓湴鏂廣?nbsp;

 


浜屻佸爢鍜屾爤鐨勭悊璁虹煡璇?nbsp;
2.1鐢寵鏂瑰紡 
stack: 
鐢辯郴緇熻嚜鍔ㄥ垎閰嶃?nbsp;渚嬪錛屽0鏄庡湪鍑芥暟涓竴涓眬閮ㄥ彉閲?nbsp;int b; 緋葷粺鑷姩鍦ㄦ爤涓負(fù)b寮杈熺┖闂?nbsp;
heap: 
闇瑕佺▼搴忓憳鑷繁鐢寵錛屽茍鎸囨槑澶у皬錛屽湪c涓璵alloc鍑芥暟 
濡俻1 = (char *)malloc(10); 
鍦–++涓敤new榪愮畻絎?nbsp;
濡俻2 = (char *)malloc(10); 
浣嗘槸娉ㄦ剰p1銆乸2鏈韓鏄湪鏍堜腑鐨勩?nbsp;


2.2 
鐢寵鍚庣郴緇熺殑鍝嶅簲 
鏍堬細(xì)鍙鏍堢殑鍓╀綑絀洪棿澶т簬鎵鐢寵絀洪棿錛岀郴緇熷皢涓虹▼搴忔彁渚涘唴瀛橈紝鍚﹀垯灝嗘姤寮傚父鎻愮ず鏍堟孩鍑恒?nbsp;
鍫嗭細(xì)棣栧厛搴旇鐭ラ亾鎿嶄綔緋葷粺鏈変竴涓褰曠┖闂插唴瀛樺湴鍧鐨勯摼琛紝褰撶郴緇熸敹鍒扮▼搴忕殑鐢寵鏃訛紝 
浼?xì)閬嶅巻璇ラ摼琛ㄥQ屽鎵劇涓涓┖闂村ぇ浜庢墍鐢寵絀洪棿鐨勫爢緇撶偣錛岀劧鍚庡皢璇ョ粨鐐逛粠絀洪棽緇撶偣閾捐〃涓垹闄わ紝騫跺皢璇ョ粨鐐圭殑絀洪棿鍒嗛厤緇欑▼搴忥紝鍙﹀錛屽浜庡ぇ澶氭暟緋葷粺錛屼細(xì)鍦ㄨ繖鍧楀唴瀛樼┖闂翠腑鐨勯鍦板潃澶勮褰曟湰嬈″垎閰嶇殑澶у皬錛岃繖鏍鳳紝浠g爜涓殑delete璇彞鎵嶈兘姝g‘鐨勯噴鏀炬湰鍐呭瓨絀洪棿銆傚彟澶栵紝鐢變簬鎵懼埌鐨勫爢緇撶偣鐨勫ぇ灝忎笉涓瀹氭濂界瓑浜庣敵璇風(fēng)殑澶у皬錛岀郴緇熶細(xì)鑷姩鐨勫皢澶氫綑鐨勯偅閮ㄥ垎閲嶆柊鏀懼叆絀洪棽閾捐〃涓?nbsp;

2.3鐢寵澶у皬鐨勯檺鍒?nbsp;
鏍堬細(xì)鍦╓indows涓?鏍堟槸鍚戜綆鍦板潃鎵╁睍鐨勬暟鎹粨鏋勶紝鏄竴鍧楄繛緇殑鍐呭瓨鐨勫尯鍩熴傝繖鍙ヨ瘽鐨勬剰鎬濇槸鏍堥《鐨勫湴鍧鍜屾爤鐨勬渶澶у閲忔槸緋葷粺棰勫厛瑙勫畾濂界殑錛屽湪WINDOWS涓嬶紝鏍堢殑澶у皬鏄?M錛堜篃鏈夌殑璇存槸1M錛屾諱箣鏄竴涓紪璇戞椂灝辯‘瀹氱殑甯告暟錛夛紝濡傛灉鐢寵鐨勭┖闂磋秴榪囨爤鐨勫墿浣欑┖闂存椂錛屽皢鎻愮ずoverflow銆傚洜姝わ紝鑳戒粠鏍堣幏寰楃殑絀洪棿杈冨皬銆?nbsp;
鍫嗭細(xì)鍫嗘槸鍚戦珮鍦板潃鎵╁睍鐨勬暟鎹粨鏋勶紝鏄笉榪炵畫(huà)鐨勫唴瀛樺尯鍩熴傝繖鏄敱浜庣郴緇熸槸鐢ㄩ摼琛ㄦ潵瀛樺偍鐨勭┖闂插唴瀛樺湴鍧鐨勶紝鑷劧鏄笉榪炵畫(huà)鐨勶紝鑰岄摼琛ㄧ殑閬嶅巻鏂瑰悜鏄敱浣庡湴鍧鍚戦珮鍦板潃銆傚爢鐨勫ぇ灝忓彈闄愪簬璁$畻鏈虹郴緇熶腑鏈夋晥鐨勮櫄鎷熷唴瀛樸傜敱姝ゅ彲瑙侊紝鍫嗚幏寰楃殑絀洪棿姣旇緝鐏墊椿錛屼篃姣旇緝澶с?nbsp;


2.4鐢寵鏁堢巼鐨勬瘮杈冿細(xì) 
鏍堢敱緋葷粺鑷姩鍒嗛厤錛岄熷害杈冨揩銆備絾紼嬪簭鍛樻槸鏃犳硶鎺у埗鐨勩?nbsp;
鍫嗘槸鐢眓ew鍒嗛厤鐨勫唴瀛橈紝涓鑸熷害姣旇緝鎱紝鑰屼笖瀹規(guī)槗浜х敓鍐呭瓨紕庣墖,涓嶈繃鐢ㄨ搗鏉ユ渶鏂逛究. 
鍙﹀錛屽湪WINDOWS涓嬶紝鏈濂界殑鏂瑰紡鏄敤VirtualAlloc鍒嗛厤鍐呭瓨錛屼粬涓嶆槸鍦ㄥ爢錛屼篃涓嶆槸鍦ㄦ爤鏄洿鎺ュ湪榪涚▼鐨勫湴鍧絀洪棿涓繚鐣欎竴蹇唴瀛橈紝铏界劧鐢ㄨ搗鏉ユ渶涓嶆柟渚褲備絾鏄熷害蹇紝涔熸渶鐏墊椿銆?nbsp;

2.5鍫嗗拰鏍堜腑鐨勫瓨鍌ㄥ唴瀹?nbsp;
鏍堬細(xì) 鍦ㄥ嚱鏁拌皟鐢ㄦ椂錛岀涓涓繘鏍堢殑鏄富鍑芥暟涓悗鐨勪笅涓鏉℃寚浠わ紙鍑芥暟璋冪敤璇彞鐨勪笅涓鏉″彲鎵ц璇彞錛夌殑鍦板潃錛岀劧鍚庢槸鍑芥暟鐨勫悇涓弬鏁幫紝鍦ㄥぇ澶氭暟鐨凜緙栬瘧鍣ㄤ腑錛屽弬鏁版槸鐢卞彸寰(xiàn)宸﹀叆鏍堢殑錛岀劧鍚庢槸鍑芥暟涓殑灞閮ㄥ彉閲忋傛敞鎰忛潤(rùn)鎬佸彉閲忔槸涓嶅叆鏍堢殑銆?nbsp;
褰撴湰嬈″嚱鏁拌皟鐢ㄧ粨鏉熷悗錛屽眬閮ㄥ彉閲忓厛鍑烘爤錛岀劧鍚庢槸鍙傛暟錛屾渶鍚庢爤欏舵寚閽堟寚鍚戞渶寮濮嬪瓨鐨勫湴鍧錛屼篃灝辨槸涓誨嚱鏁頒腑鐨勪笅涓鏉℃寚浠わ紝紼嬪簭鐢辮鐐圭戶(hù)緇繍琛屻?nbsp;
鍫嗭細(xì)涓鑸槸鍦ㄥ爢鐨勫ご閮ㄧ敤涓涓瓧鑺傚瓨鏀懼爢鐨勫ぇ灝忋傚爢涓殑鍏蜂綋鍐呭鏈夌▼搴忓憳瀹夋帓銆?nbsp;

2.6瀛樺彇鏁堢巼鐨勬瘮杈?nbsp;

char s1[] = "aaaaaaaaaaaaaaa"; 
char *s2 = "bbbbbbbbbbbbbbbbb"; 
aaaaaaaaaaa鏄湪榪愯鏃跺埢璧嬪肩殑錛?nbsp;
鑰宐bbbbbbbbbb鏄湪緙栬瘧鏃跺氨紜畾鐨勶紱 
浣嗘槸錛屽湪浠ュ悗鐨勫瓨鍙栦腑錛屽湪鏍堜笂鐨勬暟緇勬瘮鎸囬拡鎵鎸囧悜鐨勫瓧絎︿覆(渚嬪鍫?蹇?nbsp;
姣斿錛?nbsp;
#include 
void main() 

char a = 1; 
char c[] = "1234567890"; 
char *p ="1234567890"; 
a = c[1]; 
a = p[1]; 
return; 

瀵瑰簲鐨勬眹緙栦唬鐮?nbsp;
10: a = c[1]; 
00401067 8A 4D F1 mov cl,byte ptr [ebp-0Fh] 
0040106A 88 4D FC mov byte ptr [ebp-4],cl 
11: a = p[1]; 
0040106D 8B 55 EC mov edx,dword ptr [ebp-14h] 
00401070 8A 42 01 mov al,byte ptr [edx+1] 
00401073 88 45 FC mov byte ptr [ebp-4],al 
絎竴縐嶅湪璇誨彇鏃剁洿鎺ュ氨鎶婂瓧絎︿覆涓殑鍏冪礌璇誨埌瀵勫瓨鍣╟l涓紝鑰岀浜岀鍒欒鍏堟妸鎸囬拡鍊艱鍒癳dx涓紝鍦ㄦ牴鎹甧dx璇誨彇瀛楃錛屾樉鐒舵參浜?jiǎn)銆?nbsp;


2.7灝忕粨錛?nbsp;
鍫嗗拰鏍堢殑鍖哄埆鍙互鐢ㄥ涓嬬殑姣斿柣鏉ョ湅鍑猴細(xì) 
浣跨敤鏍堝氨璞℃垜浠幓楗閲屽悆楗紝鍙鐐硅彍錛堝彂鍑虹敵璇鳳級(jí)銆佷粯閽便佸拰鍚冿紙浣跨敤錛夛紝鍚冮ケ浜?jiǎn)灏辫祹图屼笉蹇呯悊浼?xì)鍒囪彍銆佹礂鑿滅瓑鍑嗗宸ヤ綔鍜屾礂紕椼佸埛閿呯瓑鎵熬宸ヤ綔錛屼粬鐨勫ソ澶勬槸蹇嵎錛屼絾鏄嚜鐢卞害灝忋?nbsp;
浣跨敤鍫嗗氨璞℃槸鑷繁鍔ㄦ墜鍋氬枩嬈㈠悆鐨勮彍鑲達(dá)紝姣旇緝楹葷儲(chǔ)錛屼絾鏄瘮杈冪鍚堣嚜宸辯殑鍙e懗錛岃屼笖鑷敱搴﹀ぇ銆?nbsp;



windows榪涚▼涓殑鍐呭瓨緇撴瀯


鍦ㄩ槄璇繪湰鏂囦箣鍓嶏紝濡傛灉浣犺繛鍫嗘爤鏄粈涔堝涓嶇煡閬撶殑璇濓紝璇峰厛闃呰鏂囩珷鍚庨潰鐨勫熀紜鐭ヨ瘑銆?nbsp;

鎺ヨЕ榪囩紪紼嬬殑浜洪兘鐭ラ亾錛岄珮綰ц璦閮借兘閫氳繃鍙橀噺鍚嶆潵璁塊棶鍐呭瓨?shù)腑鐨勬暟鎹傞偅涔堣繖浜涘彉閲忓湪鍐呭瓨?shù)腑鏄浣曞瓨鏀剧殑鍛㈠Q熺▼搴忓張鏄浣曚嬌鐢ㄨ繖浜涘彉閲忕殑鍛紵涓嬮潰灝變細(xì)瀵規(guī)榪涜娣卞叆鐨勮璁恒備笅鏂囦腑鐨凜璇█浠g爜濡傛病鏈夌壒鍒0鏄庯紝榛樿閮戒嬌鐢╒C緙栬瘧鐨剅elease鐗堛?nbsp;

棣栧厛錛屾潵浜?jiǎn)瑙d竴涓?nbsp;C 璇█鐨勫彉閲忔槸濡備綍鍦ㄥ唴瀛樺垎閮ㄧ殑銆侰 璇█鏈夊叏灞鍙橀噺(Global)銆佹湰鍦板彉閲?Local)錛岄潤(rùn)鎬佸彉閲?Static)銆佸瘎瀛樺櫒鍙橀噺(Regeister)銆傛瘡縐嶅彉閲忛兘鏈変笉鍚岀殑鍒嗛厤鏂瑰紡銆傚厛鏉ョ湅涓嬮潰榪欐浠g爜錛?nbsp;

#include <stdio.h> 

int g1=0, g2=0, g3=0; 

int main() 

static int s1=0, s2=0, s3=0; 
int v1=0, v2=0, v3=0; 

//鎵撳嵃鍑哄悇涓彉閲忕殑鍐呭瓨鍦板潃 

printf("0x%08x\n",&v1); //鎵撳嵃鍚勬湰鍦板彉閲忕殑鍐呭瓨鍦板潃 
printf("0x%08x\n",&v2); 
printf("0x%08x\n\n",&v3); 
printf("0x%08x\n",&g1); //鎵撳嵃鍚勫叏灞鍙橀噺鐨勫唴瀛樺湴鍧 
printf("0x%08x\n",&g2); 
printf("0x%08x\n\n",&g3); 
printf("0x%08x\n",&s1); //鎵撳嵃鍚勯潤(rùn)鎬佸彉閲忕殑鍐呭瓨鍦板潃 
printf("0x%08x\n",&s2); 
printf("0x%08x\n\n",&s3); 
return 0; 

緙栬瘧鍚庣殑鎵ц緇撴灉鏄細(xì) 

0x0012ff78 
0x0012ff7c 
0x0012ff80 

0x004068d0 
0x004068d4 
0x004068d8 

0x004068dc 
0x004068e0 
0x004068e4 

杈撳嚭鐨勭粨鏋滃氨鏄彉閲忕殑鍐呭瓨鍦板潃銆傚叾涓璿1,v2,v3鏄湰鍦板彉閲忥紝g1,g2,g3鏄叏灞鍙橀噺錛宻1,s2,s3鏄潤(rùn)鎬佸彉閲忋備綘鍙互鐪嬪埌榪欎簺鍙橀噺鍦ㄥ唴瀛樻槸榪炵畫(huà)鍒嗗竷鐨勶紝浣嗘槸鏈湴鍙橀噺鍜屽叏灞鍙橀噺鍒嗛厤鐨勫唴瀛樺湴鍧宸簡(jiǎn)鍗佷竾鍏崈閲岋紝鑰屽叏灞鍙橀噺鍜岄潤(rùn)鎬佸彉閲忓垎閰嶇殑鍐呭瓨鏄繛緇殑銆傝繖鏄洜涓烘湰鍦板彉閲忓拰鍏ㄥ眬/闈?rùn)鎬佸彉閲忔槸鍒嗛厤鍦ㄤ笉鍚岀被鍨嬬殑鍐呭瓨鍖哄煙涓殑緇撴灉銆傚浜庝竴涓繘紼嬬殑鍐呭瓨絀洪棿鑰岃█錛屽彲浠ュ湪閫昏緫涓婂垎鎴?涓儴浠斤細(xì)浠g爜鍖猴紝闈?rùn)鎬佹暟鎹尯鍜屽姩鎬佹暟鎹尯銆傚姩鎬佹暟鎹尯涓鑸氨鏄?#8220;鍫嗘爤”銆?#8220;鏍?stack)”鍜?#8220;鍫?heap)”鏄袱縐嶄笉鍚岀殑鍔ㄦ佹暟鎹尯錛屾爤鏄竴縐嶇嚎鎬х粨鏋勶紝鍫嗘槸涓縐嶉摼寮忕粨鏋勩傝繘紼嬬殑姣忎釜綰跨▼閮芥湁縐佹湁鐨?#8220;鏍?#8221;錛屾墍浠ユ瘡涓嚎紼嬭櫧鐒朵唬鐮佷竴鏍鳳紝浣嗘湰鍦板彉閲忕殑鏁版嵁閮芥槸浜掍笉騫叉壈銆備竴涓爢鏍堝彲浠ラ氳繃“鍩哄湴鍧”鍜?#8220;鏍堥《”鍦板潃鏉ユ弿榪般傚叏灞鍙橀噺鍜岄潤(rùn)鎬佸彉閲忓垎閰嶅湪闈?rùn)鎬佹暟鎹尯錛屾湰鍦板彉閲忓垎閰嶅湪鍔ㄦ佹暟鎹尯錛屽嵆鍫嗘爤涓傜▼搴忛氳繃鍫嗘爤鐨勫熀鍦板潃鍜屽亸縐婚噺鏉ヨ闂湰鍦板彉閲忋?nbsp;


鈹溾斺斺斺斺斺斺斺敜浣庣鍐呭瓨鍖哄煙 
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;鍔ㄦ佹暟鎹尯 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;浠g爜鍖?nbsp;鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;闈?rùn)鎬佹暟鎹尯 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜楂樼鍐呭瓨鍖哄煙 


鍫嗘爤鏄竴涓厛榪涘悗鍑虹殑鏁版嵁緇撴瀯錛屾爤欏跺湴鍧鎬繪槸灝忎簬絳変簬鏍堢殑鍩哄湴鍧銆傛垜浠彲浠ュ厛浜?jiǎn)瑙d竴涓嬪嚱鏁拌皟鐢ㄧ殑榪囩▼錛屼互渚垮鍫嗘爤鍦ㄧ▼搴忎腑鐨勪綔鐢ㄦ湁鏇存繁鍏ョ殑浜?jiǎn)瑙c備笉鍚岀殑璇█鏈変笉鍚岀殑鍑芥暟璋冪敤瑙勫畾錛岃繖浜涘洜绱犳湁鍙傛暟鐨勫帇鍏ヨ鍒欏拰鍫嗘爤鐨勫鉤琛°倃indows API鐨勮皟鐢ㄨ鍒欏拰ANSI C鐨勫嚱鏁拌皟鐢ㄨ鍒欐槸涓嶄竴鏍風(fēng)殑錛屽墠鑰呯敱琚皟鍑芥暟璋冩暣鍫嗘爤錛屽悗鑰呯敱璋冪敤鑰呰皟鏁村爢鏍堛備袱鑰呴氳繃“__stdcall”鍜?#8220;__cdecl”鍓嶇紑鍖哄垎銆傚厛鐪嬩笅闈㈣繖孌典唬鐮侊細(xì) 

#include <stdio.h> 

void __stdcall func(int param1,int param2,int param3) 

int var1=param1; 
int var2=param2; 
int var3=param3; 
printf("0x%08x\n",¶m1); //鎵撳嵃鍑哄悇涓彉閲忕殑鍐呭瓨鍦板潃 
printf("0x%08x\n",¶m2); 
printf("0x%08x\n\n",¶m3); 
printf("0x%08x\n",&var1); 
printf("0x%08x\n",&var2); 
printf("0x%08x\n\n",&var3); 
return; 

int main() 

func(1,2,3); 
return 0; 

緙栬瘧鍚庣殑鎵ц緇撴灉鏄細(xì) 

0x0012ff78 
0x0012ff7c 
0x0012ff80 

0x0012ff68 
0x0012ff6c 
0x0012ff70 


鈹溾斺斺斺斺斺斺斺敜<鈥斿嚱鏁版墽琛屾椂鐨勬爤欏訛紙ESP錛夈佷綆绔唴瀛樺尯鍩?nbsp;
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;var 1 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;var 2 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;var 3 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;RET 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥?#8220;__cdecl”鍑芥暟榪斿洖鍚庣殑鏍堥《錛圗SP錛?nbsp;
鈹?nbsp;parameter 1 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;parameter 2 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;parameter 3 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥?#8220;__stdcall”鍑芥暟榪斿洖鍚庣殑鏍堥《錛圗SP錛?nbsp;
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥旀爤搴曪紙鍩哄湴鍧 EBP錛夈侀珮绔唴瀛樺尯鍩?nbsp;


涓婂浘灝辨槸鍑芥暟璋冪敤榪囩▼涓爢鏍堢殑鏍峰瓙浜?jiǎn)銆傞鍏堬紝涓変釜鍙傛暟浠ヤ粠鍙堝埌宸︾殑嬈″簭鍘嬪叆鍫嗘爤錛屽厛鍘?#8220;param3”錛屽啀鍘?#8220;param2”錛屾渶鍚庡帇鍏?#8220;param1”錛涚劧鍚庡帇鍏ュ嚱鏁扮殑榪斿洖鍦板潃(RET)錛屾帴鐫璺寵漿鍒板嚱鏁板湴鍧鎺ョ潃鎵ц錛堣繖閲岃琛ュ厖涓鐐癸紝浠嬬粛UNIX涓嬬殑緙撳啿婧㈠嚭鍘熺悊鐨勬枃绔犱腑閮芥彁鍒板湪鍘嬪叆RET鍚庯紝緇х畫(huà)鍘嬪叆褰撳墠EBP錛岀劧鍚庣敤褰撳墠ESP浠f浛EBP銆傜劧鑰岋紝鏈変竴綃囦粙緇峸indows涓嬪嚱鏁拌皟鐢ㄧ殑鏂囩珷涓錛屽湪windows涓嬬殑鍑芥暟璋冪敤涔熸湁榪欎竴姝ラ錛屼絾鏍規(guī)嵁鎴戠殑瀹為檯璋冭瘯錛屽茍鏈彂鐜拌繖涓姝ワ紝榪欒繕鍙互浠巔aram3鍜寁ar1涔嬮棿鍙湁4瀛楄妭鐨勯棿闅欒繖鐐圭湅鍑烘潵錛夛紱絎笁姝ワ紝灝嗘爤欏?ESP)鍑忓幓涓涓暟錛屼負(fù)鏈湴鍙橀噺鍒嗛厤鍐呭瓨絀洪棿錛屼笂渚嬩腑鏄噺鍘?2瀛楄妭(ESP=ESP-3*4錛屾瘡涓猧nt鍙橀噺鍗犵敤4涓瓧鑺?錛涙帴鐫灝卞垵濮嬪寲鏈湴鍙橀噺鐨勫唴瀛樼┖闂淬傜敱浜?#8220;__stdcall”璋冪敤鐢辮璋冨嚱鏁拌皟鏁村爢鏍堬紝鎵浠ュ湪鍑芥暟榪斿洖鍓嶈鎭㈠鍫嗘爤錛屽厛鍥炴敹鏈湴鍙橀噺鍗犵敤鐨勫唴瀛?ESP=ESP+3*4)錛岀劧鍚庡彇鍑?guó)櫩斿洖鍦板潃錛屽~鍏IP瀵勫瓨鍣紝鍥炴敹鍏堝墠鍘嬪叆鍙傛暟鍗犵敤鐨勫唴瀛?ESP=ESP+3*4)錛岀戶(hù)緇墽琛岃皟鐢ㄨ呯殑浠g爜銆傚弬瑙佷笅鍒楁眹緙栦唬鐮侊細(xì) 

;--------------func 鍑芥暟鐨勬眹緙栦唬鐮?------------------ 

:00401000 83EC0C sub esp, 0000000C //鍒涘緩鏈湴鍙橀噺鐨勫唴瀛樼┖闂?nbsp;
:00401003 8B442410 mov eax, dword ptr [esp+10] 
:00401007 8B4C2414 mov ecx, dword ptr [esp+14] 
:0040100B 8B542418 mov edx, dword ptr [esp+18] 
:0040100F 89442400 mov dword ptr [esp], eax 
:00401013 8D442410 lea eax, dword ptr [esp+10] 
:00401017 894C2404 mov dword ptr [esp+04], ecx 

……………………錛堢渷鐣ヨ嫢騫蹭唬鐮侊級(jí) 

:00401075 83C43C add esp, 0000003C ;鎭㈠鍫嗘爤錛屽洖鏀舵湰鍦板彉閲忕殑鍐呭瓨絀洪棿 
:00401078 C3 ret 000C ;鍑芥暟榪斿洖錛屾仮澶嶅弬鏁板崰鐢ㄧ殑鍐呭瓨絀洪棿 
;濡傛灉鏄?#8220;__cdecl”鐨勮瘽錛岃繖閲屾槸“ret”錛屽爢鏍堝皢鐢辮皟鐢ㄨ呮仮澶?nbsp;

;-------------------鍑芥暟緇撴潫------------------------- 


;--------------涓葷▼搴忚皟鐢╢unc鍑芥暟鐨勪唬鐮?------------- 

:00401080 6A03 push 00000003 //鍘嬪叆鍙傛暟param3 
:00401082 6A02 push 00000002 //鍘嬪叆鍙傛暟param2 
:00401084 6A01 push 00000001 //鍘嬪叆鍙傛暟param1 
:00401086 E875FFFFFF call 00401000 //璋冪敤func鍑芥暟 
;濡傛灉鏄?#8220;__cdecl”鐨勮瘽錛屽皢鍦ㄨ繖閲屾仮澶嶅爢鏍堬紝“add esp, 0000000C” 

鑱槑鐨勮鑰呯湅鍒拌繖閲岋紝宸笉澶氬氨鏄庣櫧緙撳啿婧㈠嚭鐨勫師鐞嗕簡(jiǎn)銆傚厛鏉ョ湅涓嬮潰鐨勪唬鐮侊細(xì) 

#include <stdio.h> 
#include <string.h> 

void __stdcall func() 

char lpBuff[8]="\0"; 
strcat(lpBuff,"AAAAAAAAAAA"); 
return; 

int main() 

func(); 
return 0; 

緙栬瘧鍚庢墽琛屼竴涓嬪洖鎬庝箞鏍鳳紵鍝堬紝“"0x00414141"鎸囦護(hù)寮曠敤鐨?0x00000000"鍐呭瓨銆傝鍐呭瓨?shù)笉鑳戒?read"銆?#8221;錛?#8220;闈炴硶鎿嶄綔”鍠斤紒"41"灝辨槸"A"鐨?6榪涘埗鐨凙SCII鐮佷簡(jiǎn)錛岄偅鏄庢樉灝辨槸strcat榪欏彞鍑虹殑闂?shù)簡(jiǎn)銆?lpBuff"鐨勫ぇ灝忓彧鏈?瀛楄妭錛岀畻榪涚粨灝劇殑\0錛岄偅strcat鏈澶氬彧鑳藉啓鍏?涓?A"錛屼絾紼嬪簭瀹為檯鍐欏叆浜?1涓?A"澶栧姞1涓猏0銆傚啀鏉ョ湅鐪嬩笂闈㈤偅騫呭浘錛屽鍑烘潵鐨?涓瓧鑺傛濂借鐩栦簡(jiǎn)RET鐨勬墍鍦ㄧ殑鍐呭瓨絀洪棿錛屽鑷村嚱鏁拌繑鍥炲埌涓涓敊璇殑鍐呭瓨鍦板潃錛屾墽琛屼簡(jiǎn)閿欒鐨勬寚浠ゃ傚鏋滆兘綺懼績(jī)鏋勯犺繖涓瓧絎︿覆錛屼嬌瀹冨垎鎴愪笁閮ㄥ垎錛屽墠涓閮ㄤ喚浠呬粎鏄~鍏呯殑鏃犳剰涔夋暟鎹互杈懼埌婧㈠嚭鐨勭洰鐨勶紝鎺ョ潃鏄竴涓鐩朢ET鐨勬暟鎹紝绱ф帴鐫鏄竴孌祍hellcode錛岄偅鍙鐫涓猂ET鍦板潃鑳芥寚鍚戣繖孌祍hellcode鐨勭涓涓寚浠わ紝閭e嚱鏁拌繑鍥炴椂灝辮兘鎵цshellcode浜?jiǎn)銆備絾鏄蔣浠剁殑涓嶅悓鐗堟湰鍜屼笉鍚岀殑榪愯鐜閮藉彲鑳藉獎(jiǎng)鍝嶈繖孌祍hellcode鍦ㄥ唴瀛樹(shù)腑鐨勪綅緗紝閭d箞瑕佹瀯閫犺繖涓猂ET鏄崄鍒嗗洶闅劇殑銆備竴鑸兘鍦≧ET鍜宻hellcode涔嬮棿濉厖澶ч噺鐨凬OP鎸囦護(hù)錛屼嬌寰梕xploit鏈夋洿寮虹殑閫氱敤鎬с?nbsp;


鈹溾斺斺斺斺斺斺斺敜<鈥斾綆绔唴瀛樺尯鍩?nbsp;
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥旂敱exploit濉叆鏁版嵁鐨勫紑濮?nbsp;
鈹?nbsp;鈹?nbsp;
鈹?nbsp;buffer 鈹?lt;鈥斿~鍏ユ棤鐢ㄧ殑鏁版嵁 
鈹?nbsp;鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;RET 鈹?lt;鈥旀寚鍚憇hellcode錛屾垨NOP鎸囦護(hù)鐨勮寖鍥?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;NOP 鈹?nbsp;
鈹?nbsp;…… 鈹?lt;鈥斿~鍏ョ殑NOP鎸囦護(hù)錛屾槸RET鍙寚鍚戠殑鑼冨洿 
鈹?nbsp;NOP 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;鈹?nbsp;
鈹?nbsp;shellcode 鈹?nbsp;
鈹?nbsp;鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥旂敱exploit濉叆鏁版嵁鐨勭粨鏉?nbsp;
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥旈珮绔唴瀛樺尯鍩?nbsp;


windows涓嬬殑鍔ㄦ佹暟鎹櫎浜?jiǎn)鍙瓨鏀惧湪鏍堜腑锛寴q樺彲浠ュ瓨鏀懼湪鍫嗕腑銆備簡(jiǎn)瑙++鐨勬湅鍙嬮兘鐭ラ亾錛孋++鍙互浣跨敤new鍏抽敭瀛楁潵鍔ㄦ佸垎閰嶅唴瀛樸傛潵鐪嬩笅闈㈢殑C++浠g爜錛?nbsp;

#include <stdio.h> 
#include <iostream.h> 
#include <windows.h> 

void func() 

char *buffer=new char[128]; 
char bufflocal[128]; 
static char buffstatic[128]; 
printf("0x%08x\n",buffer); //鎵撳嵃鍫嗕腑鍙橀噺鐨勫唴瀛樺湴鍧 
printf("0x%08x\n",bufflocal); //鎵撳嵃鏈湴鍙橀噺鐨勫唴瀛樺湴鍧 
printf("0x%08x\n",buffstatic); //鎵撳嵃闈?rùn)鎬佸彉閲忕殑鍐呭瓨鍦板潃 

void main() 

func(); 
return; 

紼嬪簭鎵ц緇撴灉涓猴細(xì) 

0x004107d0 
0x0012ff04 
0x004068c0 

鍙互鍙戠幇鐢╪ew鍏抽敭瀛楀垎閰嶇殑鍐呭瓨鍗充笉鍦ㄦ爤涓紝涔熶笉鍦ㄩ潤(rùn)鎬佹暟鎹尯銆俈C緙栬瘧鍣ㄦ槸閫氳繃windows涓嬬殑“鍫?heap)”鏉ュ疄鐜皀ew鍏抽敭瀛楃殑鍐呭瓨鍔ㄦ佸垎閰嶃傚湪璁?#8220;鍫?#8221;涔嬪墠錛屽厛鏉ヤ簡(jiǎn)瑙d竴涓嬪拰“鍫?#8221;鏈夊叧鐨勫嚑涓狝PI鍑芥暟錛?nbsp;

HeapAlloc 鍦ㄥ爢涓敵璇峰唴瀛樼┖闂?nbsp;
HeapCreate 鍒涘緩涓涓柊鐨勫爢瀵硅薄 
HeapDestroy 閿姣佷竴涓爢瀵硅薄 
HeapFree 閲婃斁鐢寵鐨勫唴瀛?nbsp;
HeapWalk 鏋氫婦鍫嗗璞$殑鎵鏈夊唴瀛樺潡 
GetProcessHeap 鍙栧緱榪涚▼鐨勯粯璁ゅ爢瀵硅薄 
GetProcessHeaps 鍙栧緱榪涚▼鎵鏈夌殑鍫嗗璞?nbsp;
LocalAlloc 
GlobalAlloc 

褰撹繘紼嬪垵濮嬪寲鏃訛紝緋葷粺浼?xì)鑷姩湄?fù)榪涚▼鍒涘緩涓涓粯璁ゅ爢錛岃繖涓爢榛樿鎵鍗犲唴瀛樼殑澶у皬涓?M銆傚爢瀵硅薄鐢辯郴緇熻繘琛岀鐞嗭紝瀹冨湪鍐呭瓨?shù)腑浠ラ搼旨従l撴瀯瀛樺湪銆傞氳繃涓嬮潰鐨勪唬鐮佸彲浠ラ氳繃鍫嗗姩鎬佺敵璇峰唴瀛樼┖闂達(dá)細(xì) 

HANDLE hHeap=GetProcessHeap(); 
char *buff=HeapAlloc(hHeap,0,8); 

鍏朵腑h(huán)Heap鏄爢瀵硅薄鐨勫彞鏌勶紝buff鏄寚鍚戠敵璇風(fēng)殑鍐呭瓨絀洪棿鐨勫湴鍧銆傞偅榪欎釜hHeap絀剁珶鏄粈涔堝憿錛熷畠鐨勫兼湁浠涔堟剰涔夊悧錛熺湅鐪嬩笅闈㈣繖孌典唬鐮佸惂錛?nbsp;

#pragma comment(linker,"/entry:main") //瀹氫箟紼嬪簭鐨勫叆鍙?nbsp;
#include <windows.h> 

_CRTIMP int (__cdecl *printf)(const char *, ...); //瀹氫箟STL鍑芥暟printf 
/*--------------------------------------------------------------------------- 
鍐欏埌榪欓噷錛屾垜浠『渚挎潵澶嶄範(fàn)涓涓嬪墠闈㈡墍璁茬殑鐭ヨ瘑錛?nbsp;
(*娉?printf鍑芥暟鏄疌璇█鐨勬爣鍑嗗嚱鏁板簱涓嚱鏁幫紝VC鐨勬爣鍑嗗嚱鏁板簱鐢眒svcrt.dll妯″潡瀹炵幇銆?nbsp;
鐢卞嚱鏁板畾涔夊彲瑙侊紝printf鐨勫弬鏁頒釜鏁版槸鍙彉鐨勶紝鍑芥暟鍐呴儴鏃犳硶棰勫厛鐭ラ亾璋冪敤鑰呭帇鍏ョ殑鍙傛暟涓暟錛屽嚱鏁板彧鑳介氳繃鍒嗘瀽絎竴涓弬鏁板瓧絎︿覆鐨勬牸寮忔潵鑾峰緱鍘嬪叆鍙傛暟鐨勪俊鎭紝鐢變簬榪欓噷鍙傛暟鐨勪釜鏁版槸鍔ㄦ佺殑錛屾墍浠ュ繀欏葷敱璋冪敤鑰呮潵騫寵 鍫嗘爤錛岃繖閲屼究浣跨敤浜?jiǎn)__cdecl璋冪敤瑙勫垯銆侭TW錛學(xué)indows緋葷粺鐨凙PI鍑芥暟鍩烘湰涓婃槸__stdcall璋冪敤褰㈠紡錛屽彧鏈変竴涓狝PI渚嬪錛岄偅灝辨槸wsprintf錛屽畠浣跨敤__cdecl璋冪敤瑙勫垯錛屽悓printf鍑芥暟涓鏍鳳紝榪欐槸鐢變簬瀹冪殑鍙傛暟涓暟鏄彲鍙樼殑緙樻晠銆?nbsp;
---------------------------------------------------------------------------*/ 
void main() 

HANDLE hHeap=GetProcessHeap(); 
char *buff=HeapAlloc(hHeap,0,0x10); 
char *buff2=HeapAlloc(hHeap,0,0x10); 
HMODULE hMsvcrt=LoadLibrary("msvcrt.dll"); 
printf=(void *)GetProcAddress(hMsvcrt,"printf"); 
printf("0x%08x\n",hHeap); 
printf("0x%08x\n",buff); 
printf("0x%08x\n\n",buff2); 

鎵ц緇撴灉涓猴細(xì) 

0x00130000 
0x00133100 
0x00133118 

hHeap鐨勫兼庝箞鍜岄偅涓猙uff鐨勫奸偅涔堟帴榪戝憿錛熷叾瀹瀐Heap榪欎釜鍙ユ焺灝辨槸鎸囧悜HEAP棣栭儴鐨勫湴鍧銆傚湪榪涚▼鐨勭敤鎴峰尯瀛樼潃涓涓彨PEB(榪涚▼鐜鍧?鐨勭粨鏋勶紝榪欎釜緇撴瀯涓瓨鏀劇潃涓浜涙湁鍏寵繘紼嬬殑閲嶈淇℃伅錛屽叾涓湪PEB棣栧湴鍧鍋忕Щ0x18澶勫瓨鏀劇殑ProcessHeap灝辨槸榪涚▼榛樿鍫嗙殑鍦板潃錛岃屽亸縐?x90澶勫瓨鏀句簡(jiǎn)鎸囧悜榪涚▼鎵鏈夊爢鐨勫湴鍧鍒楄〃鐨勬寚閽堛倃indows鏈夊緢澶欰PI閮戒嬌鐢ㄨ繘紼嬬殑榛樿鍫嗘潵瀛樻斁鍔ㄦ佹暟鎹紝濡倃indows 2000涓嬬殑鎵鏈堿NSI鐗堟湰鐨勫嚱鏁伴兘鏄湪榛樿鍫嗕腑鐢寵鍐呭瓨鏉ヨ漿鎹NSI瀛楃涓插埌Unicode瀛楃涓茬殑銆傚涓涓爢鐨勮闂槸欏哄簭榪涜鐨勶紝鍚屼竴鏃跺埢鍙兘鏈変竴涓嚎紼嬭闂爢涓殑鏁版嵁錛屽綋澶氫釜綰跨▼鍚屾椂鏈夎闂姹傛椂錛屽彧鑳芥帓闃熺瓑寰咃紝榪欐牱渚塊犳垚紼嬪簭鎵ц鏁堢巼涓嬮檷銆?nbsp;

鏈鍚庢潵璇磋鍐呭瓨?shù)腑鐨勬暟鎹瘹w綈銆傛墍浣嶆暟鎹榻愶紝鏄寚鏁版嵁鎵鍦ㄧ殑鍐呭瓨鍦板潃蹇呴』鏄鏁版嵁闀垮害鐨勬暣鏁板嶏紝DWORD鏁版嵁鐨勫唴瀛樿搗濮嬪湴鍧鑳借4闄ゅ敖錛學(xué)ORD鏁版嵁鐨勫唴瀛樿搗濮嬪湴鍧鑳借2闄ゅ敖錛寈86 CPU鑳界洿鎺ヨ闂榻愮殑鏁版嵁錛屽綋浠栬瘯鍥捐闂竴涓湭瀵歸綈鐨勬暟鎹椂錛屼細(xì)鍦ㄥ唴閮ㄨ繘琛屼竴緋誨垪鐨勮皟鏁達(dá)紝榪欎簺璋冩暣瀵逛簬紼嬪簭鏉ヨ鏄忔槑鐨勶紝浣嗘槸浼?xì)闄嶄綆杩愯閫熷害錛屾墍浠ョ紪璇戝櫒鍦ㄧ紪璇戠▼搴忔椂浼?xì)灏介噺淇濊瘉鏁版嵁瀵归綈銆傚悓鏍蜂竴孌典唬鐮侊紝鎴戜滑鏉ョ湅鐪嬬敤VC銆丏ev-C++鍜宭cc涓変釜涓嶅悓緙栬瘧鍣ㄧ紪璇戝嚭鏉ョ殑紼嬪簭鐨勬墽琛岀粨鏋滐細(xì) 

#include <stdio.h> 

int main() 

int a; 
char b; 
int c; 
printf("0x%08x\n",&a); 
printf("0x%08x\n",&b); 
printf("0x%08x\n",&c); 
return 0; 

榪欐槸鐢╒C緙栬瘧鍚庣殑鎵ц緇撴灉錛?nbsp;
0x0012ff7c 
0x0012ff7b 
0x0012ff80 
鍙橀噺鍦ㄥ唴瀛樹(shù)腑鐨勯『搴忥細(xì)b(1瀛楄妭)-a(4瀛楄妭)-c(4瀛楄妭)銆?nbsp;

榪欐槸鐢―ev-C++緙栬瘧鍚庣殑鎵ц緇撴灉錛?nbsp;
0x0022ff7c 
0x0022ff7b 
0x0022ff74 
鍙橀噺鍦ㄥ唴瀛樹(shù)腑鐨勯『搴忥細(xì)c(4瀛楄妭)-涓棿鐩擱殧3瀛楄妭-b(鍗?瀛楄妭)-a(4瀛楄妭)銆?nbsp;

榪欐槸鐢╨cc緙栬瘧鍚庣殑鎵ц緇撴灉錛?nbsp;
0x0012ff6c 
0x0012ff6b 
0x0012ff64 
鍙橀噺鍦ㄥ唴瀛樹(shù)腑鐨勯『搴忥細(xì)鍚屼笂銆?nbsp;

涓変釜緙栬瘧鍣ㄩ兘鍋氬埌浜?jiǎn)鏁版嵁瀵归綈锛屼絾鏄悗涓や釜缂栬瘧鍣ㄦ槃舵病VC“鑱槑”錛岃涓涓猚har鍗犱簡(jiǎn)4瀛楄妭錛屾氮璐瑰唴瀛樺摝銆?nbsp;


鍩虹鐭ヨ瘑錛?nbsp;
鍫嗘爤鏄竴縐嶇畝鍗曠殑鏁版嵁緇撴瀯錛屾槸涓縐嶅彧鍏佽鍦ㄥ叾涓绔繘琛屾彃鍏ユ垨鍒犻櫎鐨勭嚎鎬ц〃銆傚厑璁告彃鍏ユ垨鍒犻櫎鎿嶄綔鐨勪竴绔О涓烘爤欏訛紝鍙︿竴绔О涓烘爤搴曪紝瀵瑰爢鏍堢殑鎻掑叆鍜屽垹闄ゆ搷浣滆縐頒負(fù)鍏ユ爤鍜屽嚭鏍堛傛湁涓緇凜PU鎸囦護(hù)鍙互瀹炵幇瀵硅繘紼嬬殑鍐呭瓨瀹炵幇鍫嗘爤璁塊棶銆傚叾涓紝POP鎸囦護(hù)瀹炵幇鍑烘爤鎿嶄綔錛孭USH鎸囦護(hù)瀹炵幇鍏ユ爤鎿嶄綔銆侰PU鐨凟SP瀵勫瓨鍣ㄥ瓨鏀懼綋鍓嶇嚎紼嬬殑鏍堥《鎸囬拡錛孍BP瀵勫瓨鍣ㄤ腑淇濆瓨褰撳墠綰跨▼鐨勬爤搴曟寚閽堛侰PU鐨凟IP瀵勫瓨鍣ㄥ瓨鏀句笅涓涓狢PU鎸囦護(hù)瀛樻斁鐨勫唴瀛樺湴鍧錛屽綋CPU鎵ц瀹屽綋鍓嶇殑鎸囦護(hù)鍚庯紝浠嶦IP瀵勫瓨鍣ㄤ腑璇誨彇涓嬩竴鏉℃寚浠ょ殑鍐呭瓨鍦板潃錛岀劧鍚庣戶(hù)緇墽琛屻?nbsp;


鍙傝冿細(xì)銆奧indows涓嬬殑HEAP婧㈠嚭鍙?qiáng)鍏跺埄鐢ㄣ媌y: isno 
銆妛indows鏍稿績(jī)緙栫▼銆媌y: Jeffrey Richter 



鎽樿錛?nbsp;璁ㄨ甯歌鐨勫爢鎬ц兘闂?shù)互鍙?qiáng)濡備綍闃茶寖瀹冧滑銆傦紙鍏?nbsp;9 欏碉級(jí)

鍓嶈█
鎮(zhèn)ㄦ槸鍚︽槸鍔ㄦ佸垎閰嶇殑 C/C++ 瀵硅薄蹇犲疄涓斿垢榪愮殑鐢ㄦ埛錛熸?zhèn)ㄦ槸鍚﹀湪妯″潡闂寸殑寰(xiàn)榪旈氫俊涓綣佸湴浣跨敤浜?#8220;鑷姩鍖?#8221;錛熸?zhèn)ㄧ殑绋嬪簭鏄惁鍥犲爢鍒嗛厤鑰岃繍琛岃搗鏉ュ緢鎱紵涓嶄粎浠呮?zhèn)ㄩ亣鍒皹q欐牱鐨勯棶棰樸傚嚑涔庢墍鏈夐」鐩繜鏃╅兘浼?xì)閬囧埌鍫嗛棶棰樸傚ぇ瀹墮兘鎯寵錛?#8220;鎴戠殑浠g爜鐪熸濂斤紝鍙槸鍫嗗お鎱?#8221;銆傞偅鍙槸閮ㄥ垎姝g‘銆傛洿娣卞叆鐞嗚В鍫嗗強(qiáng)鍏剁敤娉曘佷互鍙?qiáng)浼?xì)鍙戠敓浠涔堥棶棰橈紝鏄緢鏈夌敤鐨勩?/p>

浠涔堟槸鍫嗭紵
錛堝鏋滄?zhèn)ㄥ凡缁忕煡閬撲粈涔堟槸鍫嗭紝鍙互璺沖埌“浠涔堟槸甯歌鐨勫爢鎬ц兘闂錛?#8221;閮ㄥ垎錛?/p>

鍦ㄧ▼搴忎腑錛屼嬌鐢ㄥ爢鏉ュ姩鎬佸垎閰嶅拰閲婃斁瀵硅薄銆傚湪涓嬪垪鎯呭喌涓嬶紝璋冪敤鍫嗘搷浣滐細(xì) 

浜嬪厛涓嶇煡閬撶▼搴忔墍闇瀵硅薄鐨勬暟閲忓拰澶у皬銆?/p>


瀵硅薄澶ぇ鑰屼笉閫傚悎鍫嗘爤鍒嗛厤紼嬪簭銆?br>鍫嗕嬌鐢ㄤ簡(jiǎn)鍦ㄨ繍琛屾椂鍒嗛厤緇欎唬鐮佸拰鍫嗘爤鐨勫唴瀛樹(shù)箣澶栫殑閮ㄥ垎鍐呭瓨銆備笅鍥劇粰鍑轟簡(jiǎn)鍫嗗垎閰嶇▼搴忕殑涓嶅悓灞傘?br>

GlobalAlloc/GlobalFree錛歁icrosoft Win32 鍫嗚皟鐢紝榪欎簺璋冪敤鐩存帴涓庢瘡涓繘紼嬬殑榛樿鍫嗚繘琛屽璇濄?/p>

LocalAlloc/LocalFree錛歐in32 鍫嗚皟鐢紙涓轟簡(jiǎn)涓?nbsp;Microsoft Windows NT 鍏煎錛夛紝榪欎簺璋冪敤鐩存帴涓庢瘡涓繘紼嬬殑榛樿鍫嗚繘琛屽璇濄?/p>

COM 鐨?nbsp;IMalloc 鍒嗛厤紼嬪簭錛堟垨 CoTaskMemAlloc / CoTaskMemFree錛夛細(xì)鍑芥暟浣跨敤姣忎釜榪涚▼鐨勯粯璁ゅ爢銆傝嚜鍔ㄥ寲紼嬪簭浣跨敤“緇勪歡瀵硅薄妯″瀷 (COM)”鐨勫垎閰嶇▼搴忥紝鑰岀敵璇風(fēng)殑紼嬪簭浣跨敤姣忎釜榪涚▼鍫嗐?/p>

C/C++ 榪愯鏃?nbsp;(CRT) 鍒嗛厤紼嬪簭錛氭彁渚涗簡(jiǎn) malloc() 鍜?nbsp;free() 浠ュ強(qiáng) new 鍜?nbsp;delete 鎿嶄綔絎︺傚 Microsoft Visual Basic 鍜?nbsp;Java 絳夎璦涔熸彁渚涗簡(jiǎn)鏂扮殑鎿嶄綔絎﹀茍浣跨敤鍨冨溇鏀墮泦鏉ヤ唬鏇垮爢銆侰RT 鍒涘緩鑷繁鐨勭鏈夊爢錛岄┗鐣欏湪 Win32 鍫嗙殑欏墮儴銆?/p>

Windows NT 涓紝W(xué)in32 鍫嗘槸 Windows NT 榪愯鏃跺垎閰嶇▼搴忓懆鍥寸殑钖勫眰銆傛墍鏈?nbsp;API 杞彂瀹冧滑鐨勮姹傜粰 NTDLL銆?/p>

Windows NT 榪愯鏃跺垎閰嶇▼搴忔彁渚?nbsp;Windows NT 鍐呯殑鏍稿績(jī)鍫嗗垎閰嶇▼搴忋傚畠鐢卞叿鏈?nbsp;128 涓ぇ灝忎粠 8 鍒?nbsp;1,024 瀛楄妭鐨勭┖闂插垪琛ㄧ殑鍓嶇鍒嗛厤紼嬪簭緇勬垚銆傚悗绔垎閰嶇▼搴忎嬌鐢ㄨ櫄鎷熷唴瀛樻潵淇濈暀鍜屾彁浜ら〉銆?/p>

鍦ㄥ浘琛ㄧ殑搴曢儴鏄?#8220;铏氭嫙鍐呭瓨鍒嗛厤紼嬪簭”錛屾搷浣滅郴緇熶嬌鐢ㄥ畠鏉ヤ繚鐣欏拰鎻愪氦欏點(diǎn)傛墍鏈夊垎閰嶇▼搴忎嬌鐢ㄨ櫄鎷熷唴瀛樿繘琛屾暟鎹殑瀛樺彇銆?/p>

鍒嗛厤鍜岄噴鏀懼潡涓嶅氨閭d箞綆鍗曞悧錛熶負(fù)浣曡姳璐硅繖涔堥暱鏃墮棿錛?/p>

鍫嗗疄鐜扮殑娉ㄦ剰浜嬮」
浼犵粺涓婏紝鎿嶄綔緋葷粺鍜岃繍琛屾椂搴撴槸涓庡爢鐨勫疄鐜板叡瀛樼殑銆傚湪涓涓繘紼嬬殑寮濮嬶紝鎿嶄綔緋葷粺鍒涘緩涓涓粯璁ゅ爢錛屽彨鍋?#8220;榪涚▼鍫?#8221;銆傚鏋滄病鏈夊叾浠栧爢鍙嬌鐢紝鍒欏潡鐨勫垎閰嶄嬌鐢?#8220;榪涚▼鍫?#8221;銆傝璦榪愯鏃朵篃鑳藉湪榪涚▼鍐呭垱寤哄崟鐙殑鍫嗐傦紙渚嬪錛孋 榪愯鏃跺垱寤哄畠鑷繁鐨勫爢銆傦級(jí)闄よ繖浜涗笓鐢ㄧ殑鍫嗗錛屽簲鐢ㄧ▼搴忔垨璁稿宸茶澆鍏ョ殑鍔ㄦ侀摼鎺ュ簱 (DLL) 涔嬩竴鍙互鍒涘緩鍜屼嬌鐢ㄥ崟鐙殑鍫嗐俉in32 鎻愪緵涓鏁村 API 鏉ュ垱寤哄拰浣跨敤縐佹湁鍫嗐傛湁鍏沖爢鍑芥暟錛堣嫳鏂囷級(jí)鐨勮灝芥寚瀵鹼紝璇峰弬瑙?nbsp;MSDN銆?/p>

褰撳簲鐢ㄧ▼搴忔垨 DLL 鍒涘緩縐佹湁鍫嗘椂錛岃繖浜涘爢瀛樺湪浜庤繘紼嬬┖闂達(dá)紝騫朵笖鍦ㄨ繘紼嬪唴鏄彲璁塊棶鐨勩備粠緇欏畾鍫嗗垎閰嶇殑鏁版嵁灝嗗湪鍚屼竴涓爢涓婇噴鏀俱傦紙涓嶈兘浠庝竴涓爢鍒嗛厤鑰屽湪鍙︿竴涓爢閲婃斁銆傦級(jí)

鍦ㄦ墍鏈夎櫄鎷熷唴瀛樼郴緇熶腑錛屽爢椹葷暀鍦ㄦ搷浣滅郴緇熺殑“铏氭嫙鍐呭瓨綆$悊鍣?#8221;鐨勯《閮ㄣ傝璦榪愯鏃跺爢涔熼┗鐣欏湪铏氭嫙鍐呭瓨欏墮儴銆傛煇浜涙儏鍐典笅錛岃繖浜涘爢鏄搷浣滅郴緇熷爢涓殑灞傦紝鑰岃璦榪愯鏃跺爢鍒欓氳繃澶у潡鐨勫垎閰嶆潵鎵ц鑷繁鐨勫唴瀛樼鐞嗐備笉浣跨敤鎿嶄綔緋葷粺鍫嗭紝鑰屼嬌鐢ㄨ櫄鎷熷唴瀛樺嚱鏁版洿鍒╀簬鍫嗙殑鍒嗛厤鍜屽潡鐨勪嬌鐢ㄣ?/p>

鍏稿瀷鐨勫爢瀹炵幇鐢卞墠銆佸悗绔垎閰嶇▼搴忕粍鎴愩傚墠绔垎閰嶇▼搴忕淮鎸佸浐瀹氬ぇ灝忓潡鐨勭┖闂插垪琛ㄣ傚浜庝竴嬈″垎閰嶈皟鐢紝鍫嗗皾璇曚粠鍓嶇鍒楄〃鎵懼埌涓涓嚜鐢卞潡銆傚鏋滃け璐ワ紝鍫嗚榪粠鍚庣錛堜繚鐣欏拰鎻愪氦铏氭嫙鍐呭瓨錛夊垎閰嶄竴涓ぇ鍧楁潵婊¤凍璇鋒眰銆傞氱敤鐨勫疄鐜版湁姣忓潡鍒嗛厤鐨勫紑閿錛岃繖灝嗚楄垂鎵ц鍛ㄦ湡錛屼篃鍑忓皯浜?jiǎn)鍙娇鐢ㄧ殑瀛樺偍绌洪棿銆?/p>

Knowledge Base 鏂囩珷 Q10758錛?#8220;鐢?nbsp;calloc() 鍜?nbsp;malloc() 綆$悊鍐呭瓨” 錛堟悳绱㈡枃绔犵紪鍙鳳級(jí), 鍖呭惈浜?jiǎn)鏈夊厡櫩欎簺涓婚鐨勬洿澶氳儗鏅煡璇嗐傚彟澶栵紝鏈夊叧鍫嗗疄鐜板拰璁捐鐨勮緇嗚璁轟篃鍙湪涓嬪垪钁椾綔涓壘鍒幫細(xì)“Dynamic Storage Allocation: A Survey and Critical Review”錛屼綔鑰?nbsp;Paul R. Wilson銆丮ark S. Johnstone銆丮ichael Neely 鍜?nbsp;David Boles錛?#8220;International Workshop on Memory Management”, 浣滆?nbsp;Kinross, Scotland, UK, 1995 騫?nbsp;9 鏈?http://www.cs.utexas.edu/users/oops/papers.html)錛堣嫳鏂囷級(jí)銆?/p>

Windows NT 鐨勫疄鐜幫紙Windows NT 鐗堟湰 4.0 鍜屾洿鏂扮増鏈級(jí) 浣跨敤浜?nbsp;127 涓ぇ灝忎粠 8 鍒?nbsp;1,024 瀛楄妭鐨?nbsp;8 瀛楄妭瀵歸綈鍧楃┖闂插垪琛ㄥ拰涓涓?#8220;澶у潡”鍒楄〃銆?#8220;澶у潡”鍒楄〃錛堢┖闂插垪琛╗0]錛?nbsp;淇濆瓨澶т簬 1,024 瀛楄妭鐨勫潡銆傜┖闂插垪琛ㄥ綰充簡(jiǎn)鐢ㄥ弻鍚戦摼琛ㄩ摼鎺ュ湪涓璧風(fēng)殑瀵硅薄銆傞粯璁ゆ儏鍐典笅錛?#8220;榪涚▼鍫?#8221;鎵ц鏀墮泦鎿嶄綔銆傦紙鏀墮泦鏄皢鐩擱偦絀洪棽鍧楀悎騫舵垚涓涓ぇ鍧楃殑鎿嶄綔銆傦級(jí)鏀墮泦鑰楄垂浜?jiǎn)棰濆鐨勫懆鏈熷Q屼絾鍑忓皯浜?jiǎn)鍫嗗潡鐨勫唴閮剮鐗囥?/p>

鍗曚竴鍏ㄥ眬閿佷繚鎶ゅ爢錛岄槻姝㈠綰跨▼寮忕殑浣跨敤銆傦紙璇峰弬瑙?#8220;Server Performance and Scalability Killers”涓殑絎竴涓敞鎰忎簨欏? George Reilly 鎵钁楋紝鍦?nbsp;“MSDN Online Web Workshop”涓婏紙绔欑偣錛?img border=0 align=absMiddle src="http://club.5ivb.net/pic/url.gif">http://msdn.microsoft.com/workshop/server/iis/tencom.asp錛堣嫳鏂囷級(jí)銆傦級(jí)鍗曚竴鍏ㄥ眬閿佹湰璐ㄤ笂鏄敤鏉ヤ繚鎶ゅ爢鏁版嵁緇撴瀯錛岄槻姝㈣法澶氱嚎紼嬬殑闅忔満瀛樺彇銆傝嫢鍫嗘搷浣滃お棰戠箒錛屽崟涓鍏ㄥ眬閿佷細(xì)瀵規(guī)ц兘鏈変笉鍒╃殑褰卞搷銆?/p>

浠涔堟槸甯歌鐨勫爢鎬ц兘闂錛?br>浠ヤ笅鏄?zhèn)ㄤ娇鐢ㄥ爢鏃朵細(xì)閬囧埌鐨勬渶甯歌闂錛?nbsp;

鍒嗛厤鎿嶄綔閫犳垚鐨勯熷害鍑忔參銆傚厜鍒嗛厤灝辮楄垂寰堥暱鏃墮棿銆傛渶鍙兘瀵艱嚧榪愯閫熷害鍑忔參鍘熷洜鏄┖闂插垪琛ㄦ病鏈夊潡錛屾墍浠ヨ繍琛屾椂鍒嗛厤紼嬪簭浠g爜浼?xì)鑰楄垂鍛ㄦ湡瀵繪壘杈冨ぇ鐨勭┖闂插潡錛屾垨浠庡悗绔垎閰嶇▼搴忓垎閰嶆柊鍧椼?/p>


閲婃斁鎿嶄綔閫犳垚鐨勯熷害鍑忔參銆傞噴鏀炬搷浣滆楄垂杈冨鍛ㄦ湡錛屼富瑕佹槸鍚敤浜?jiǎn)鏀堕泦鎿嶄綔銆傛敹闆嗘湡闂達(dá)紝姣忎釜閲婃斁鎿嶄綔“鏌ユ壘”瀹冪殑鐩擱偦鍧楋紝鍙栧嚭瀹冧滑騫舵瀯閫犳垚杈冨ぇ鍧楋紝鐒跺悗鍐嶆妸姝よ緝澶у潡鎻掑叆絀洪棽鍒楄〃銆傚湪鏌ユ壘鏈熼棿錛屽唴瀛樺彲鑳戒細(xì)闅忔満紕板埌錛屼粠鑰屽鑷撮珮閫熺紦瀛樹(shù)笉鑳藉懡涓紝鎬ц兘闄嶄綆銆?/p>


鍫嗙珵浜夐犳垚鐨勯熷害鍑忔參銆傚綋涓や釜鎴栧涓嚎紼嬪悓鏃惰闂暟鎹紝鑰屼笖涓涓嚎紼嬬戶(hù)緇繘琛屼箣鍓嶅繀欏葷瓑寰呭彟涓涓嚎紼嬪畬鎴愭椂灝卞彂鐢熺珵浜夈傜珵浜夋繪槸瀵艱嚧楹葷儲(chǔ)錛涜繖涔熸槸鐩墠澶氬鐞嗗櫒緋葷粺閬囧埌鐨勬渶澶ч棶棰樸傚綋澶ч噺浣跨敤鍐呭瓨鍧楃殑搴旂敤紼嬪簭鎴?nbsp;DLL 浠ュ綰跨▼鏂瑰紡榪愯錛堟垨榪愯浜庡澶勭悊鍣ㄧ郴緇熶笂錛夋椂灝嗗鑷撮熷害鍑忔參銆傚崟涓閿佸畾鐨勪嬌鐢ㄢ斿父鐢ㄧ殑瑙e喅鏂規(guī)鈥旀剰鍛崇潃浣跨敤鍫嗙殑鎵鏈夋搷浣滄槸搴忓垪鍖栫殑銆傚綋絳夊緟閿佸畾鏃跺簭鍒楀寲浼?xì)寮曡碉L(fēng)嚎紼嬪垏鎹笂涓嬫枃銆傚彲浠ユ兂璞′氦鍙夎礬鍙i棯鐑佺殑綰㈢伅澶勮蛋璧板仠鍋滃鑷寸殑閫熷害鍑忔參銆?nbsp;
绔炰簤閫氬父浼?xì)瀵艰嚧绾拷E嬪拰榪涚▼鐨勪笂涓嬫枃鍒囨崲銆備笂涓嬫枃鍒囨崲鐨勫紑閿鏄緢澶х殑錛屼絾寮閿鏇村ぇ鐨勬槸鏁版嵁浠庡鐞嗗櫒楂橀熺紦瀛樹(shù)腑涓㈠け錛屼互鍙?qiáng)鍚庢潵绾拷E嬪媧繪椂鐨勬暟鎹噸寤恒?/p>

鍫嗙牬鍧忛犳垚鐨勯熷害鍑忔參銆傞犳垚鍫嗙牬鍧忕殑鍘熷洜鏄簲鐢ㄧ▼搴忓鍫嗗潡鐨勪笉姝g‘浣跨敤銆傞氬父鎯呭艦鍖呮嫭閲婃斁宸查噴鏀劇殑鍫嗗潡鎴栦嬌鐢ㄥ凡閲婃斁鐨勫爢鍧楋紝浠ュ強(qiáng)鍧楃殑瓚婄晫閲嶅啓絳夋槑鏄鵑棶棰樸傦紙鐮村潖涓嶅湪鏈枃璁ㄨ鑼冨洿涔嬪唴銆傛湁鍏沖唴瀛橀噸鍐欏拰娉勬紡絳夊叾浠栫粏鑺傦紝璇峰弬瑙?nbsp;Microsoft Visual C++(R) 璋冭瘯鏂囨。 銆傦級(jí)


棰戠箒鐨勫垎閰嶅拰閲嶅垎閰嶉犳垚鐨勯熷害鍑忔參銆傝繖鏄嬌鐢ㄨ剼鏈璦鏃墮潪甯告櫘閬嶇殑鐜拌薄銆傚瀛楃涓茶鍙嶅鍒嗛厤錛岄殢閲嶅垎閰嶅闀垮拰閲婃斁銆備笉瑕佽繖鏍峰仛錛屽鏋滃彲鑳斤紝灝介噺鍒嗛厤澶у瓧絎︿覆鍜屼嬌鐢ㄧ紦鍐插尯銆傚彟涓縐嶆柟娉曞氨鏄敖閲忓皯鐢ㄨ繛鎺ユ搷浣溿?br>绔炰簤鏄湪鍒嗛厤鍜岄噴鏀炬搷浣滀腑瀵艱嚧閫熷害鍑忔參鐨勯棶棰樸傜悊鎯蟲(chóng)儏鍐典笅錛屽笇鏈涗嬌鐢ㄦ病鏈夌珵浜夊拰蹇熷垎閰?閲婃斁鐨勫爢銆傚彲鎯滐紝鐜板湪榪樻病鏈夎繖鏍風(fēng)殑閫氱敤鍫嗭紝涔熻灝嗘潵浼?xì)鏈夈?/p>

鍦ㄦ墍鏈夌殑鏈嶅姟鍣ㄧ郴緇熶腑錛堝 IIS銆丮SProxy銆丏atabaseStacks銆佺綉緇滄湇鍔″櫒銆?nbsp;Exchange 鍜屽叾浠栵級(jí), 鍫嗛攣瀹氬疄鍦ㄦ槸涓ぇ鐡墮銆傚鐞嗗櫒鏁拌秺澶氾紝绔炰簤灝辮秺浼?xì)鎭跺寲銆?/p>

灝介噺鍑忓皯鍫嗙殑浣跨敤
鐜板湪鎮(zhèn)ㄦ槑鐧戒嬌鐢ㄥ爢鏃跺瓨鍦ㄧ殑闂?shù)簡(jiǎn)锛岄汏N亾鎮(zhèn)ㄤ笉鎯蟲(chóng)嫢鏈夎兘瑙e喅榪欎簺闂鐨勮秴綰ч瓟媯掑悧錛熸垜鍙笇鏈涙湁銆備絾娌℃湁欖旀硶鑳戒嬌鍫嗚繍琛屽姞蹇斿洜姝や笉瑕佹湡鏈涘湪浜у搧鍑?guó)櫞т箣鍓嶇殑鏈鍚庝竴鏄熸湡鑳藉澶т負(fù)鏀硅銆傚鏋滄彁鍓嶈鍒掑爢絳栫暐錛屾儏鍐靛皢浼?xì)澶уぇ濂借浆銆傝皟鏁翠嬌鐢ㄥ爢鐨勬柟娉曪紝鍑忓皯瀵瑰爢鐨勬搷浣滄槸鎻愰珮鎬ц兘鐨勮壇鏂廣?/p>

濡備綍鍑忓皯浣跨敤鍫嗘搷浣滐紵閫氳繃鍒╃敤鏁版嵁緇撴瀯鍐呯殑浣嶇疆鍙噺灝戝爢鎿嶄綔鐨勬鏁般傝鑰冭檻涓嬪垪瀹炰緥錛?/p>

struct ObjectA {
   // objectA 鐨勬暟鎹?nbsp;
}

struct ObjectB {
   // objectB 鐨勬暟鎹?nbsp;
}

// 鍚屾椂浣跨敤 objectA 鍜?nbsp;objectB

//
// 浣跨敤鎸囬拡 
//
struct ObjectB {
   struct ObjectA * pObjA;
   // objectB 鐨勬暟鎹?nbsp;
}

//
// 浣跨敤宓屽叆
//
struct ObjectB {
   struct ObjectA pObjA;
   // objectB 鐨勬暟鎹?nbsp;
}

//
// 闆嗗悎 – 鍦ㄥ彟涓瀵硅薄鍐呬嬌鐢?nbsp;objectA 鍜?nbsp;objectB
//

struct ObjectX {
   struct ObjectA  objA;
   struct ObjectB  objB;
}

閬垮厤浣跨敤鎸囬拡鍏寵仈涓や釜鏁版嵁緇撴瀯銆傚鏋滀嬌鐢ㄦ寚閽堝叧鑱斾袱涓暟鎹粨鏋勶紝鍓嶉潰瀹炰緥涓殑瀵硅薄 A 鍜?nbsp;B 灝嗚鍒嗗埆鍒嗛厤鍜岄噴鏀俱傝繖浼?xì)澧炲姞棰濆寮閿鈥旀垜浠閬垮厤榪欑鍋氭硶銆?/p>


鎶婂甫鎸囬拡鐨勫瓙瀵硅薄宓屽叆鐖跺璞°傚綋瀵硅薄涓湁鎸囬拡鏃訛紝鍒欐剰鍛崇潃瀵硅薄涓湁鍔ㄦ佸厓绱狅紙鐧懼垎涔嬪叓鍗侊級(jí)鍜屾病鏈夊紩鐢ㄧ殑鏂頒綅緗傚祵鍏ュ鍔犱簡(jiǎn)浣嶇疆浠庤屽噺灝戜簡(jiǎn)榪涗竴姝ュ垎閰?閲婃斁鐨勯渶姹傘傝繖灝嗘彁楂樺簲鐢ㄧ▼搴忕殑鎬ц兘銆?/p>


鍚堝茍灝忓璞″艦鎴愬ぇ瀵硅薄錛堣仛鍚堬級(jí)銆傝仛鍚堝噺灝戝垎閰嶅拰閲婃斁鐨勫潡鐨勬暟閲忋傚鏋滄湁鍑犱釜寮鍙戣咃紝鍚勮嚜寮鍙戣璁$殑涓嶅悓閮ㄥ垎錛屽垯鏈緇堜細(xì)鏈夎澶氬皬瀵硅薄闇瑕佸悎騫躲傞泦鎴愮殑鎸?xiě)鎴槥鏄鎵惧埌姝<嫯鐨勮仛鍚堣竟鐣屻?/p>


鍐呰仈緙撳啿鍖鴻兘澶熸弧瓚崇櫨鍒嗕箣鍏崄鐨勯渶瑕侊紙aka 80-20 瑙勫垯錛夈備釜鍒儏鍐典笅錛岄渶瑕佸唴瀛樼紦鍐插尯鏉ヤ繚瀛樺瓧絎︿覆/浜岃繘鍒舵暟鎹紝浣嗕簨鍏堜笉鐭ラ亾鎬誨瓧鑺傛暟銆備及璁″茍鍐呰仈涓涓ぇ灝忚兘婊¤凍鐧懼垎涔嬪叓鍗侀渶瑕佺殑緙撳啿鍖恒傚鍓╀綑鐨勭櫨鍒嗕箣浜屽崄錛屽彲浠ュ垎閰嶄竴涓柊鐨勭紦鍐插尯鍜屾寚鍚戣繖涓紦鍐插尯鐨勬寚閽堛傝繖鏍鳳紝灝卞噺灝戝垎閰嶅拰閲婃斁璋冪敤騫跺鍔犳暟鎹殑浣嶇疆絀洪棿錛屼粠鏍規(guī)湰涓婃彁楂樹(shù)唬鐮佺殑鎬ц兘銆?/p>


鍦ㄥ潡涓垎閰嶅璞★紙鍧楀寲錛夈傚潡鍖栨槸浠ョ粍鐨勬柟寮忎竴嬈″垎閰嶅涓璞$殑鏂規(guī)硶銆傚鏋滃鍒楄〃鐨勯」榪炵畫(huà)璺熻釜錛屼緥濡傚涓涓?nbsp;{鍚嶇О錛屽紏 瀵圭殑鍒楄〃錛屾湁涓ょ閫夋嫨錛氶夋嫨涓鏄負(fù)姣忎竴涓?#8220;鍚嶇О-鍊?#8221;瀵瑰垎閰嶄竴涓妭鐐癸紱閫夋嫨浜屾槸鍒嗛厤涓涓兘瀹圭撼錛堝浜斾釜錛?#8220;鍚嶇О-鍊?#8221;瀵圭殑緇撴瀯銆備緥濡傦紝涓鑸儏鍐典笅錛屽鏋滃瓨鍌ㄥ洓瀵癸紝灝卞彲鍑忓皯鑺傜偣鐨勬暟閲忥紝濡傛灉闇瑕侀澶栫殑絀洪棿鏁伴噺錛屽垯浣跨敤闄勫姞鐨勯摼琛ㄦ寚閽堛?nbsp;
鍧楀寲鏄弸濂界殑澶勭悊鍣ㄩ珮閫熺紦瀛橈紝鐗瑰埆鏄浜?nbsp;L1-楂橀熺紦瀛橈紝鍥犱負(fù)瀹冩彁渚涗簡(jiǎn)澧炲姞鐨勪綅緗?nbsp;鈥斾笉鐢ㄨ瀵逛簬鍧楀垎閰嶏紝寰堝鏁版嵁鍧椾細(xì)鍦ㄥ悓涓涓櫄鎷熼〉涓?/p>

姝g‘浣跨敤 _amblksiz銆侰 榪愯鏃?nbsp;(CRT) 鏈夊畠鐨勮嚜瀹氫箟鍓嶇鍒嗛厤紼嬪簭錛岃鍒嗛厤紼嬪簭浠庡悗绔紙Win32 鍫嗭級(jí)鍒嗛厤澶у皬涓?nbsp;_amblksiz 鐨勫潡銆傚皢 _amblksiz 璁劇疆涓鴻緝楂樼殑鍊艱兘娼滃湪鍦板噺灝戝鍚庣鐨勮皟鐢ㄦ鏁般傝繖鍙騫挎硾浣跨敤 CRT 鐨勭▼搴忛傜敤銆?br>浣跨敤涓婅堪鎶鏈皢鑾峰緱鐨勫ソ澶勪細(xì)鍥犲璞$被鍨嬨佸ぇ灝忓強(qiáng)宸ヤ綔閲忚屾湁鎵涓嶅悓銆備絾鎬昏兘鍦ㄦц兘鍜屽彲鍗囩緝鎬ф柟闈㈡湁鎵鏀惰幏銆傚彟涓鏂歸潰錛屼唬鐮佷細(xì)鏈夌偣鐗規(guī)畩錛屼絾濡傛灉緇忚繃娣辨濈啛铏戯紝浠g爜榪樻槸寰堝鏄撶鐞嗙殑銆?/p>

鍏朵粬鎻愰珮鎬ц兘鐨勬妧鏈?br>涓嬮潰鏄竴浜涙彁楂橀熷害鐨勬妧鏈細(xì) 

浣跨敤 Windows NT5 鍫?nbsp;
鐢變簬鍑犱釜鍚屼簨鐨勫姫鍔涘拰杈涘嫟宸ヤ綔錛?998 騫村垵 Microsoft Windows(R) 2000 涓湁浜?jiǎn)鍑犱釜閲嶅ぇ鏀箻q涳細(xì)

鏀硅繘浜?jiǎn)鍫嗕唬鐮佸唴鐨勯攣瀹氥傚爢浠g爜瀵規(guī)瘡鍫嗕竴涓攣銆傚叏灞閿佷繚鎶ゅ爢鏁版嵁緇撴瀯錛岄槻姝㈠綰跨▼寮忕殑浣跨敤銆備絾涓嶅垢鐨勬槸錛屽湪楂橀氫俊閲忕殑鎯呭喌涓嬶紝鍫嗕粛鍙楀洶浜庡叏灞閿侊紝瀵艱嚧楂樼珵浜夊拰浣庢ц兘銆俉indows 2000 涓紝閿佸唴浠g爜鐨勪復(fù)鐣屽尯灝嗙珵浜夌殑鍙兘鎬у噺鍒版渶灝?浠庤屾彁楂樹(shù)簡(jiǎn)鍙幾緙╂с?/p>


浣跨敤 “Lookaside”鍒楄〃銆傚爢鏁版嵁緇撴瀯瀵瑰潡鐨勬墍鏈夌┖闂查」浣跨敤浜?jiǎn)澶畯鍦?nbsp;8 鍒?nbsp;1,024 瀛楄妭錛堜互 8-瀛楄妭閫掑錛夌殑蹇熼珮閫熺紦瀛樸傚揩閫熼珮閫熺紦瀛樻渶鍒濅繚鎶ゅ湪鍏ㄥ眬閿佸唴銆傜幇鍦紝浣跨敤 lookaside 鍒楄〃鏉ヨ闂繖浜涘揩閫熼珮閫熺紦瀛樼┖闂插垪琛ㄣ傝繖浜涘垪琛ㄤ笉瑕佹眰閿佸畾錛岃屾槸浣跨敤 64 浣嶇殑浜掗攣鎿嶄綔錛屽洜姝ゆ彁楂樹(shù)簡(jiǎn)鎬ц兘銆?/p>


鍐呴儴鏁版嵁緇撴瀯綆楁硶涔熷緱鍒版敼榪涖?br>榪欎簺鏀硅繘閬垮厤浜?jiǎn)瀵瑰垎閰嶉珮閫熺紦瀛樼殑闇姹傦紝浣嗕笉鎺掗櫎鍏朵粬鐨勪紭鍖栥備嬌鐢?nbsp;Windows NT5 鍫嗚瘎浼版?zhèn)ㄧ殑浠g爜锛涘畠瀵篂畯浜?nbsp;1,024 瀛楄妭 (1 KB) 鐨勫潡錛堟潵鑷墠绔垎閰嶇▼搴忕殑鍧楋級(jí)鏄渶浣崇殑銆侴lobalAlloc() 鍜?nbsp;LocalAlloc() 寤虹珛鍦ㄥ悓涓鍫嗕笂錛屾槸瀛樺彇姣忎釜榪涚▼鍫嗙殑閫氱敤鏈哄埗銆傚鏋滃笇鏈涜幏寰楅珮鐨勫眬閮ㄦц兘錛屽垯浣跨敤 Heap(R) API 鏉ュ瓨鍙栨瘡涓繘紼嬪爢錛屾垨涓哄垎閰嶆搷浣滃垱寤鴻嚜宸辯殑鍫嗐傚鏋滈渶瑕佸澶у潡鎿嶄綔錛屼篃鍙互鐩存帴浣跨敤 VirtualAlloc() / VirtualFree() 鎿嶄綔銆?/p>

涓婅堪鏀硅繘宸插湪 Windows 2000 beta 2 鍜?nbsp;Windows NT 4.0 SP4 涓嬌鐢ㄣ傛敼榪涘悗錛屽爢閿佺殑绔炰簤鐜囨樉钁楅檷浣庛傝繖浣挎墍鏈?nbsp;Win32 鍫嗙殑鐩存帴鐢ㄦ埛鍙楃泭銆侰RT 鍫嗗緩绔嬩簬 Win32 鍫嗙殑欏墮儴錛屼絾瀹冧嬌鐢ㄨ嚜宸辯殑灝忓潡鍫嗭紝鍥犺屼笉鑳戒粠 Windows NT 鏀硅繘涓彈鐩娿傦紙Visual C++ 鐗堟湰 6.0 涔熸湁鏀硅繘鐨勫爢鍒嗛厤紼嬪簭銆傦級(jí)

浣跨敤鍒嗛厤楂橀熺紦瀛?nbsp;
鍒嗛厤楂橀熺紦瀛樺厑璁?dāng)R珮閫熺紦瀛樺垎閰嶇殑鍧楋紝浠ヤ究灝嗘潵閲嶇敤銆傝繖鑳藉鍑忓皯瀵硅繘紼嬪爢錛堟垨鍏ㄥ眬鍫嗭級(jí)鐨勫垎閰?閲婃斁璋冪敤鐨勬鏁幫紝涔熷厑璁告渶澶ч檺搴︾殑閲嶇敤鏇劇粡鍒嗛厤鐨勫潡銆傚彟澶栵紝鍒嗛厤楂橀熺紦瀛樺厑璁告敹闆嗙粺璁′俊鎭?浠ヤ究杈冨ソ鍦扮悊瑙e璞″湪杈冮珮灞傛涓婄殑浣跨敤銆?/p>

鍏稿瀷鍦幫紝鑷畾涔夊爢鍒嗛厤紼嬪簭鍦ㄨ繘紼嬪爢鐨勯《閮ㄥ疄鐜般傝嚜瀹氫箟鍫嗗垎閰嶇▼搴忎笌緋葷粺鍫嗙殑琛屼負(fù)寰堢浉浼箋備富瑕佺殑宸埆鏄畠鍦ㄨ繘紼嬪爢鐨勯《閮ㄤ負(fù)鍒嗛厤鐨勫璞℃彁渚涢珮閫熺紦瀛樸傞珮閫熺紦瀛樿璁℃垚涓濂楀浐瀹氬ぇ灝忥紙濡?nbsp;32 瀛楄妭銆?4 瀛楄妭銆?28 瀛楄妭絳夛級(jí)銆傝繖涓涓緢濂界殑絳栫暐錛屼絾榪欑鑷畾涔夊爢鍒嗛厤紼嬪簭涓㈠け涓庡垎閰嶅拰閲婃斁鐨勫璞$浉鍏崇殑“璇箟淇℃伅”銆?nbsp;

涓庤嚜瀹氫箟鍫嗗垎閰嶇▼搴忕浉鍙嶏紝“鍒嗛厤楂橀熺紦瀛?#8221;浣滀負(fù)姣忕被鍒嗛厤楂橀熺紦瀛樻潵瀹炵幇銆傞櫎鑳藉鎻愪緵鑷畾涔夊爢鍒嗛厤紼嬪簭鐨勬墍鏈夊ソ澶勪箣澶栵紝瀹冧滑榪樿兘澶熶繚鐣欏ぇ閲忚涔変俊鎭傛瘡涓垎閰嶉珮閫熺紦瀛樺鐞嗙▼搴忎笌涓涓洰鏍囦簩榪涘埗瀵硅薄鍏寵仈銆傚畠鑳藉浣跨敤涓濂楀弬鏁拌繘琛屽垵濮嬪寲錛岃繖浜涘弬鏁拌〃紺哄茍鍙戠駭鍒佸璞″ぇ灝忓拰淇濇寔鍦ㄧ┖闂插垪琛ㄤ腑鐨勫厓绱犵殑鏁伴噺絳夈傚垎閰嶉珮閫熺紦瀛樺鐞嗙▼搴忓璞$淮鎸佽嚜宸辯殑縐佹湁絀洪棽瀹炰綋姹狅紙涓嶈秴榪囨寚瀹氱殑闃鍊鹼級(jí)騫朵嬌鐢ㄧ鏈変繚鎶ら攣銆傚悎鍦ㄤ竴璧鳳紝鍒嗛厤楂橀熺紦瀛樺拰縐佹湁閿佸噺灝戜簡(jiǎn)涓庝富緋葷粺鍫嗙殑閫氫俊閲忥紝鍥犺屾彁渚涗簡(jiǎn)澧炲姞鐨勫茍鍙戙佹渶澶ч檺搴︾殑閲嶇敤鍜岃緝楂樼殑鍙幾緙╂с?/p>

闇瑕佷嬌鐢ㄦ竻鐞嗙▼搴忔潵瀹氭湡媯(gè)鏌ユ墍鏈夊垎閰嶉珮閫熺紦瀛樺鐞嗙▼搴忕殑媧誨姩鎯呭喌騫跺洖鏀舵湭鐢ㄧ殑璧勬簮銆傚鏋滃彂鐜版病鏈夋椿鍔紝灝嗛噴鏀懼垎閰嶅璞$殑姹狅紝浠庤屾彁楂樻ц兘銆?/p>

鍙互瀹℃牳姣忎釜鍒嗛厤/閲婃斁媧誨姩銆傜涓綰т俊鎭寘鎷璞°佸垎閰嶅拰閲婃斁璋冪敤鐨勬繪暟銆傞氳繃鏌ョ湅瀹冧滑鐨勭粺璁′俊鎭彲浠ュ緱鍑哄悇涓璞′箣闂寸殑璇箟鍏崇郴銆傚埄鐢ㄤ互涓婁粙緇嶇殑璁稿鎶鏈箣涓錛岃繖縐嶅叧緋誨彲浠ョ敤鏉ュ噺灝戝唴瀛樺垎閰嶃?/p>

鍒嗛厤楂橀熺紦瀛樹(shù)篃璧峰埌浜?jiǎn)璋冭瘯鍔╂墜鐨勪綔鐢ㄥQ屽府鍔╂?zhèn)ㄨ窡韪病鏈夊畬鍏ㄦ竻闄ょ殑瀵硅薄鏁伴噺銆傞氳繃鏌ョ湅鍔ㄦ佸爢鏍堣繑鍥炶釜榪瑰拰闄ゆ病鏈夋竻闄ょ殑瀵硅薄涔嬪鐨勭鍚嶏紝鐢氳嚦鑳藉鎵懼埌紜垏鐨勫け璐ョ殑璋冪敤鑰呫?/p>

MP 鍫?nbsp;
MP 鍫嗘槸瀵瑰澶勭悊鍣ㄥ弸濂界殑鍒嗗竷寮忓垎閰嶇殑紼嬪簭鍖咃紝鍦?nbsp;Win32 SDK錛圵indows NT 4.0 鍜屾洿鏂扮増鏈級(jí)涓彲浠ュ緱鍒般傛渶鍒濈敱 JVert 瀹炵幇錛屾澶勫爢鎶借薄寤虹珛鍦?nbsp;Win32 鍫嗙▼搴忓寘鐨勯《閮ㄣ侻P 鍫嗗垱寤哄涓?nbsp;Win32 鍫嗭紝騫惰瘯鍥懼皢鍒嗛厤璋冪敤鍒嗗竷鍒頒笉鍚屽爢錛屼互鍑忓皯鍦ㄦ墍鏈夊崟涓閿佷笂鐨勭珵浜夈?/p>

鏈▼搴忓寘鏄ソ鐨勬楠?nbsp;鈥斾竴縐嶆敼榪涚殑 MP-鍙嬪ソ鐨勮嚜瀹氫箟鍫嗗垎閰嶇▼搴忋備絾鏄紝瀹冧笉鎻愪緵璇箟淇℃伅鍜岀己涔忕粺璁″姛鑳姐傞氬父灝?nbsp;MP 鍫嗕綔涓?nbsp;SDK 搴撴潵浣跨敤銆傚鏋滀嬌鐢ㄨ繖涓?nbsp;SDK 鍒涘緩鍙噸鐢ㄧ粍浠訛紝鎮(zhèn)ㄥ皢澶уぇ鍙楃泭銆備絾鏄紝濡傛灉鍦ㄦ瘡涓?nbsp;DLL 涓緩绔嬭繖涓?nbsp;SDK 搴擄紝灝嗗鍔犲伐浣滆緗?/p>

閲嶆柊鎬濊冪畻娉曞拰鏁版嵁緇撴瀯 
瑕佸湪澶氬鐞嗗櫒鏈哄櫒涓婁幾緙╋紝鍒欑畻娉曘佸疄鐜般佹暟鎹粨鏋勫拰紜歡蹇呴』鍔ㄦ佷幾緙┿傝鐪嬫渶緇忓父鍒嗛厤鍜岄噴鏀劇殑鏁版嵁緇撴瀯銆傝瘯闂紝“鎴戣兘鐢ㄤ笉鍚岀殑鏁版嵁緇撴瀯瀹屾垚姝ゅ伐浣滃悧錛?#8221;渚嬪錛屽鏋滃湪搴旂敤紼嬪簭鍒濆鍖栨椂鍔犺澆浜?jiǎn)鍙椤圭殑鍒楄〃锛寴q欎釜鍒楄〃涓嶅繀鏄嚎鎬ч摼鎺ョ殑鍒楄〃銆傚鏋滄槸鍔ㄦ佸垎閰嶇殑鏁扮粍灝遍潪甯稿ソ銆傚姩鎬佸垎閰嶇殑鏁扮粍灝嗗噺灝戝唴瀛樹(shù)腑鐨勫爢鍧楀拰紕庣墖錛屼粠鑰屽寮烘ц兘銆?/p>

鍑忓皯闇瑕佺殑灝忓璞$殑鏁伴噺鍑忓皯鍫嗗垎閰嶇▼搴忕殑璐熻澆銆備緥濡傦紝鎴戜滑鍦ㄦ湇鍔″櫒鐨勫叧閿鐞嗚礬寰勪笂浣跨敤浜斾釜涓嶅悓鐨勫璞★紝姣忎釜瀵硅薄鍗曠嫭鍒嗛厤鍜岄噴鏀俱備竴璧烽珮閫熺紦瀛樿繖浜涘璞★紝鎶婂爢璋冪敤浠庝簲涓噺灝戝埌涓涓紝鏄捐憲鍑忓皯浜?jiǎn)鍫嗙殑璐熻浇锛岀壒鍒綋姣徔U掗挓澶勭悊 1,000 涓互涓婄殑璇鋒眰鏃躲?/p>

濡傛灉澶ч噺浣跨敤“Automation”緇撴瀯錛岃鑰冭檻浠庝富綰夸唬鐮佷腑鍒犻櫎“Automation BSTR”錛屾垨鑷沖皯閬垮厤閲嶅鐨?nbsp;BSTR 鎿嶄綔銆傦紙BSTR 榪炴帴瀵艱嚧榪囧鐨勯噸鍒嗛厤鍜屽垎閰?閲婃斁鎿嶄綔銆傦級(jí)

鎽樿
瀵規(guī)墍鏈夊鉤鍙板線(xiàn)寰(xiàn)閮藉瓨鍦ㄥ爢瀹炵幇錛屽洜姝ゆ湁宸ㄥぇ鐨勫紑閿銆傛瘡涓崟鐙唬鐮侀兘鏈夌壒瀹氱殑瑕佹眰錛屼絾璁捐鑳介噰鐢ㄦ湰鏂囪璁虹殑鍩烘湰鐞嗚鏉ュ噺灝戝爢涔嬮棿鐨勭浉浜掍綔鐢ㄣ?nbsp;

璇勪環(huán)鎮(zhèn)ㄧ殑浠g爜涓爢鐨勪嬌鐢ㄣ?/p>


鏀硅繘鎮(zhèn)ㄧ殑浠g爜錛屼互浣跨敤杈冨皯鐨勫爢璋冪敤錛氬垎鏋愬叧閿礬寰勫拰鍥哄畾鏁版嵁緇撴瀯銆?/p>


鍦ㄥ疄鐜拌嚜瀹氫箟鐨勫寘瑁呯▼搴忎箣鍓嶄嬌鐢ㄩ噺鍖栧爢璋冪敤鎴愭湰鐨勬柟娉曘?/p>


濡傛灉瀵規(guī)ц兘涓嶆弧鎰忥紝璇瘋姹?nbsp;OS 緇勬敼榪涘爢銆傛洿澶氳繖綾昏姹傛剰鍛崇潃瀵規(guī)敼榪涘爢鐨勬洿澶氬叧娉ㄣ?/p>


瑕佹眰 C 榪愯鏃剁粍閽堝 OS 鎵鎻愪緵鐨勫爢鍒朵綔灝忓閥鐨勫垎閰嶅寘瑁呯▼搴忋傞殢鐫 OS 鍫嗙殑鏀硅繘錛孋 榪愯鏃跺爢璋冪敤鐨勬垚鏈皢鍑忓皬銆?/p>


鎿嶄綔緋葷粺錛圵indows NT 瀹舵棌錛夋鍦ㄤ笉鏂敼榪涘爢銆傝闅忔椂鍏蟲(chóng)敞鍜屽埄鐢ㄨ繖浜涙敼榪涖?br>Murali Krishnan 鏄?nbsp;Internet Information Server (IIS) 緇勭殑棣栧腑杞歡璁捐宸ョ▼甯堛備粠 1.0 鐗堟湰寮濮嬩粬灝辮璁?nbsp;IIS錛屽茍鎴愬姛鍙戣浜?nbsp;1.0 鐗堟湰鍒?nbsp;4.0 鐗堟湰銆侻urali 緇勭粐騫墮瀵?nbsp;IIS 鎬ц兘緇勪笁騫?nbsp;(1995-1998), 浠庝竴寮濮嬪氨褰卞搷 IIS 鎬ц兘銆備粬鎷ユ湁濞佹柉搴鋒槦宸?nbsp;Madison 澶у鐨?nbsp;M.S.鍜屽嵃搴?nbsp;Anna 澶у鐨?nbsp;B.S.銆傚伐浣滀箣澶栵紝浠栧枩嬈㈤槄璇匯佹墦鎺掔悆鍜屽搴児楗?br>


http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=172835
鎴戝湪瀛︿範(fàn)瀵硅薄鐨勭敓瀛樻柟寮忕殑鏃跺欒鍒頒竴縐嶆槸鍦ㄥ爢鏍?stack)涔嬩腑錛屽涓?nbsp; 
CObject  object;  
榪樻湁涓縐嶆槸鍦ㄥ爢(heap)涓?nbsp; 濡備笅  
CObject*  pobject=new  CObject();  
 
璇烽棶  
錛?錛夎繖涓ょ鏂瑰紡鏈変粈涔堝尯鍒紵  
錛?錛夊爢鏍堜笌鍫嗘湁浠涔堝尯鍒紵錛?nbsp; 
 
 
---------------------------------------------------------------  
 
1)  about  stack,  system  will  allocate  memory  to  the  instance  of  object  automatically,  and  to  the
 heap,  you  must  allocate  memory  to  the  instance  of  object  with  new  or  malloc  manually.  
2)  when  function  ends,  system  will  automatically  free  the  memory  area  of  stack,  but  to  the 
heap,  you  must  free  the  memory  area  manually  with  free  or  delete,  else  it  will  result  in  memory
leak.  
3)鏍堝唴瀛樺垎閰嶈繍綆楀唴緗簬澶勭悊鍣ㄧ殑鎸囦護(hù)闆嗕腑錛屾晥鐜囧緢楂橈紝浣嗘槸鍒嗛厤鐨勫唴瀛樺閲忔湁闄愩?nbsp; 
4錛夊爢涓婂垎閰嶇殑鍐呭瓨鍙互鏈夋垜浠嚜宸卞喅瀹氾紝浣跨敤闈炲父鐏墊椿銆?nbsp; 
---------------------------------------------------------------  



]]>
姹囩紪甯哥敤鎬葷粨(鎬葷粨)http://m.shnenglu.com/tdweng/articles/124507.html蹇?jī)缇?/dc:creator>蹇?jī)缇?/author>Tue, 24 Aug 2010 01:02:00 GMThttp://m.shnenglu.com/tdweng/articles/124507.htmlhttp://m.shnenglu.com/tdweng/comments/124507.htmlhttp://m.shnenglu.com/tdweng/articles/124507.html#Feedback0http://m.shnenglu.com/tdweng/comments/commentRss/124507.htmlhttp://m.shnenglu.com/tdweng/services/trackbacks/124507.html1.mov eax [esi+4]涓巐ea eax  [esi+4]
   mov鏄妸esi+4鎵鍦ㄥ湴鍧鐨勫間紶緇檈ax錛屼篃灝辨槸鎶奺si+4鐪嬫垚鎸囬拡錛岀劧鍚巈ax = *(esi+4)錛涜宭ea鏄妸esi+4鐨勫間紶緇檈ax錛屼篃灝辨槸eax = esi + 4

]]>
姹囩紪涓悇瀵勫瓨鍣ㄧ殑浣滅敤http://m.shnenglu.com/tdweng/articles/120852.html蹇?jī)缇?/dc:creator>蹇?jī)缇?/author>Tue, 20 Jul 2010 02:16:00 GMThttp://m.shnenglu.com/tdweng/articles/120852.htmlhttp://m.shnenglu.com/tdweng/comments/120852.htmlhttp://m.shnenglu.com/tdweng/articles/120852.html#Feedback0http://m.shnenglu.com/tdweng/comments/commentRss/120852.htmlhttp://m.shnenglu.com/tdweng/services/trackbacks/120852.html
銆銆鑻辨枃鍚嶇О錛歊egister

瀵勫瓨鍣ㄥ畾涔?/h2> 銆銆瀵勫瓨鍣ㄦ槸涓ぎ澶勭悊鍣?/u>鍐呯殑緇勬垚閮ㄤ喚銆?wbr>瀵勫瓨鍣ㄦ槸鏈夐檺瀛樿串瀹歸噺鐨勯珮閫熷瓨璐儴浠訛紝瀹冧滑鍙敤鏉ユ殏瀛樻寚浠ゃ?wbr>鏁版嵁鍜屼綅鍧銆傚湪涓ぎ澶勭悊鍣ㄧ殑鎺у埗閮ㄤ歡涓紝鍖呭惈鐨勫瘎瀛樺櫒鏈?a rel=nofollow target=_blank>鎸囦護(hù)瀵勫瓨鍣?/u>(IR)鍜?a rel=nofollow target=_blank>紼嬪簭璁℃暟鍣?/u>(PC)銆?wbr>鍦ㄤ腑澶鐞嗗櫒鐨勭畻鏈強(qiáng)閫昏緫閮ㄤ歡涓紝鍖呭惈鐨勫瘎瀛樺櫒鏈?a rel=nofollow target=_blank>绱姞鍣?/u>(ACC)銆?br>
銆銆瀵勫瓨鍣ㄦ槸鍐呭瓨闃跺眰涓殑鏈欏剁錛?wbr>涔熸槸緋葷粺鑾峰緱鎿嶄綔璧勬枡鐨勬渶蹇熼斿緞銆?wbr>瀵勫瓨鍣ㄩ氬父閮芥槸浠ヤ粬浠彲浠ヤ繚瀛樼殑浣嶅厓鏁伴噺鏉ヤ及閲忥紝涓句緥鏉ヨ錛屼竴涓?“8 浣嶅厓瀵勫瓨鍣?#8221;鎴?“32 浣嶅厓瀵勫瓨鍣?#8221;銆傚瘎瀛樺櫒鐜板湪閮戒互瀵勫瓨鍣ㄦ。妗堢殑鏂瑰紡鏉ュ疄浣滐紝浣嗘槸浠栦滑涔熷彲鑳戒嬌鐢ㄥ崟鐙殑姝e弽鍣ㄣ侀珮閫熺殑鏍稿績(jī)鍐呭瓨銆?wbr>钖勮啘鍐呭瓨?shù)互鍙?qiáng)鍦ㄦ暟縐嶆満鍣ㄤ笂鐨勫叾浠栨柟寮忔潵瀹炰綔鍑烘潵銆?
銆銆瀵勫瓨鍣ㄩ氬父閮界敤鏉ユ剰鎸囩敱涓涓寚浠や箣杈撳嚭鎴栬緭鍏ュ彲浠ョ洿鎺ョ儲(chǔ)寮曞埌鐨勬殏瀛樺櫒緹ょ粍銆傛洿閫傚綋鐨勬槸縐頒粬浠負(fù) “鏋舵瀯瀵勫瓨鍣?#8221;銆?
銆銆渚嬪錛寈86 鎸囦護(hù)鍙?qiáng)瀹氫箟鍏?32 浣嶅厓瀵勫瓨鍣ㄧ殑闆嗗悎錛屼絾涓涓疄浣?x86 鎸囦護(hù)闆嗙殑 CPU 鍙互鍖呭惈姣斿叓涓洿澶氱殑瀵勫瓨鍣ㄣ?br>
銆銆瀵勫瓨鍣ㄦ槸CPU鍐呴儴鐨勫厓浠訛紝瀵勫瓨鍣ㄦ嫢鏈夐潪甯擱珮鐨勮鍐欓熷害錛?wbr>鎵浠ュ湪瀵勫瓨鍣ㄤ箣闂寸殑鏁版嵁浼犻侀潪甯稿揩銆?

瀵勫瓨鍣ㄧ敤閫?/h2> 銆銆1.鍙皢瀵勫瓨鍣ㄥ唴鐨勬暟鎹墽琛岀畻鏈強(qiáng)閫昏緫榪愮畻錛?br>
銆銆2.瀛樹(shù)簬瀵勫瓨鍣ㄥ唴鐨勫湴鍧鍙敤鏉ユ寚鍚戝唴瀛樼殑鏌愪釜浣嶇疆錛屽嵆瀵誨潃錛?br>
銆銆3.鍙互鐢ㄦ潵璇誨啓鏁版嵁鍒扮數(shù)鑴戠殑鍛ㄨ竟璁懼銆?

鏁版嵁瀵勫瓨鍣?/h2> 銆銆8086 鏈?4涓?6浣嶅瘎瀛樺櫒錛岃繖14涓瘎瀛樺櫒鎸夊叾鐢ㄩ斿彲鍒嗕負(fù)(1)閫氱敤瀵勫瓨鍣ㄣ?2)鎸囦護(hù)鎸囬拡銆?3)鏍囧織瀵勫瓨鍣ㄥ拰(4)孌靛瘎瀛樺櫒絳?綾匯?br>
銆銆(1)閫氱敤瀵勫瓨鍣?/strong>鏈?涓? 鍙堝彲浠ュ垎鎴?緇?涓緇勬槸鏁版嵁瀵勫瓨鍣?4涓?,鍙︿竴緇勬槸鎸囬拡瀵勫瓨鍣ㄥ強(qiáng)鍙樺潃瀵勫瓨鍣?4涓?.
銆銆鏁版嵁瀵勫瓨鍣ㄥ垎涓?
銆銆AH&AL錛滱X(accumulator)錛?/strong>绱姞瀵勫瓨鍣紝甯哥敤浜庤繍綆?鍦ㄤ箻闄ょ瓑鎸囦護(hù)涓寚瀹氱敤鏉ュ瓨鏀炬搷浣滄暟,鍙﹀,鎵鏈夌殑I/O鎸囦護(hù)閮戒嬌鐢ㄨ繖涓瀵勫瓨鍣ㄤ笌澶栫晫璁懼浼犻佹暟鎹?
銆銆BH&BL錛滲X(base)錛?/strong>鍩哄潃瀵勫瓨鍣紝甯哥敤浜庡湴鍧绱㈠紩錛?br>
銆銆CH&CL錛滳X(count)錛?/strong>璁℃暟瀵勫瓨鍣紝甯哥敤浜庤鏁幫紱甯哥敤浜庝繚瀛樿綆楀?濡傚湪縐諱綅鎸囦護(hù),寰幆(loop)鍜屼覆澶勭悊鎸囦護(hù)涓敤浣滈殣鍚殑璁℃暟鍣?
銆銆DH&DL錛滵X(data)錛?/strong>鏁版嵁瀵勫瓨鍣紝甯哥敤浜庢暟鎹紶閫掋?br>
銆銆浠栦滑鐨勭壒鐐規(guī)槸,榪?涓?6浣嶇殑瀵勫瓨鍣ㄥ彲浠ュ垎涓洪珮8浣? AH, BH, CH, DH.浠ュ強(qiáng)浣庡叓浣嶏細(xì)AL,BL,CL,DL銆?wbr>榪?緇?浣嶅瘎瀛樺櫒鍙互鍒嗗埆瀵誨潃錛屽茍鍗曠嫭浣跨敤銆?br>
銆銆鍙︿竴緇勬槸鎸囬拡瀵勫瓨鍣ㄥ拰鍙樺潃瀵勫瓨鍣紝鍖呮嫭錛?br>
銆銆SP錛圫tack Pointer錛夛細(xì)鍫嗘爤鎸囬拡錛屼笌SS閰嶅悎浣跨敤錛?wbr>鍙寚鍚戠洰鍓嶇殑鍫嗘爤浣嶇疆錛?br>
銆銆BP錛圔ase Pointer錛夛細(xì)鍩哄潃鎸囬拡瀵勫瓨鍣紝鍙敤浣淪S鐨勪竴涓浉瀵瑰熀鍧浣嶇疆錛?br>
銆銆SI錛圫ource Index錛夛細(xì)婧愬彉鍧瀵勫瓨鍣ㄥ彲鐢ㄦ潵瀛樻斁鐩稿浜嶥S孌典箣婧愬彉鍧鎸囬拡錛?br>
銆銆DI錛圖estination Index錛夛細(xì)鐩殑鍙樺潃瀵勫瓨鍣紝鍙敤鏉ュ瓨鏀劇浉瀵逛簬 ES 孌典箣鐩殑鍙樺潃鎸囬拡銆?br>
銆銆榪?涓?6浣嶅瘎瀛樺櫒鍙兘鎸?6浣嶈繘琛屽瓨鍙栨搷浣滐紝涓昏鐢ㄦ潵褰㈡垚鎿嶄綔鏁扮殑鍦板潃錛?wbr>鐢ㄤ簬鍫嗘爤鎿嶄綔鍜屽彉鍧榪愮畻涓綆楁搷浣滄暟鐨勬湁鏁堝湴鍧銆?br>
銆銆(2) 鎸囦護(hù)鎸囬拡IP(Instruction Pointer)
銆銆鎸囦護(hù)鎸囬拡IP鏄竴涓?6浣嶄笓鐢ㄥ瘎瀛樺櫒錛?wbr>瀹冩寚鍚戝綋鍓嶉渶瑕佸彇鍑虹殑鎸囦護(hù)瀛楄妭錛?wbr>褰揃IU浠庡唴瀛樹(shù)腑鍙栧嚭涓涓寚浠ゅ瓧鑺傚悗錛孖P灝辮嚜鍔ㄥ姞1錛?wbr>鎸囧悜涓嬩竴涓寚浠ゅ瓧鑺傘傛敞鎰忥紝IP鎸囧悜鐨勬槸鎸囦護(hù)鍦板潃鐨勬鍐呭湴鍧鍋忕Щ閲忥紝鍙堢О鍋忕Щ鍦板潃(Offset Address)鎴栨湁鏁堝湴鍧(EA錛孍ffective Address)銆?br>
銆銆(3)鏍囧織瀵勫瓨鍣‵R(Flag Register)
銆銆
8086鏈変竴涓?8浣嶇殑鏍囧織瀵勫瓨鍣‵R錛?wbr>鍦‵R涓湁鎰忎箟鐨勬湁9浣嶏紝鍏朵腑6浣嶆槸鐘舵佷綅錛?浣嶆槸鎺у埗浣嶃?br>
銆銆OF錛?/strong> 婧㈠嚭鏍囧織浣峅F鐢ㄤ簬鍙嶆槧鏈夌鍙鋒暟鍔犲噺榪愮畻鎵寰楃粨鏋滄槸鍚︽孩鍑恒?wbr>濡傛灉榪愮畻緇撴灉瓚呰繃褰撳墠榪愮畻浣嶆暟鎵鑳借〃紺虹殑鑼冨洿錛屽垯縐頒負(fù)婧㈠嚭錛?wbr>OF鐨勫艱緗負(fù)1錛屽惁鍒欙紝OF鐨勫艱娓呬負(fù)0銆?br>
銆銆DF錛?/strong>鏂瑰悜鏍囧織DF浣嶇敤鏉ュ喅瀹氬湪涓叉搷浣滄寚浠ゆ墽琛屾椂鏈夊叧鎸囬拡瀵勫瓨鍣?wbr>鍙戠敓璋冩暣鐨勬柟鍚戙?
銆銆IF錛?/strong>涓柇鍏佽鏍囧織IF浣嶇敤鏉ュ喅瀹欳PU鏄惁鍝嶅簲CPU澶栭儴鐨勫彲灞忚斀涓柇鍙戝嚭鐨勪腑鏂姹傘備絾涓嶇璇ユ爣蹇椾負(fù)浣曞鹼紝CPU閮藉繀欏誨搷搴擟PU澶栭儴鐨勪笉鍙睆钄戒腑鏂墍鍙戝嚭鐨勪腑鏂姹傦紝浠ュ強(qiáng)CPU鍐呴儴浜х敓鐨勪腑鏂姹傘傚叿浣撹瀹氬涓嬶細(xì)
銆銆(1)銆佸綋IF=1鏃訛紝CPU鍙互鍝嶅簲CPU澶栭儴鐨勫彲灞忚斀涓柇鍙戝嚭鐨勪腑鏂姹傦紱
銆銆(2)銆佸綋IF=0鏃訛紝CPU涓嶅搷搴擟PU澶栭儴鐨勫彲灞忚斀涓柇鍙戝嚭鐨勪腑鏂姹傘?
銆銆TF錛?/strong>璺熻釜鏍囧織TF銆傝鏍囧織鍙敤浜庣▼搴忚皟璇曘?wbr>TF鏍囧織娌℃湁涓撻棬鐨勬寚浠ゆ潵璁劇疆鎴栨竻妤氥?br>
銆銆錛?錛夊鏋淭F=1錛屽垯C(jī)PU澶勪簬鍗曟鎵ц鎸囦護(hù)鐨勫伐浣滄柟寮忥紝姝ゆ椂姣忔墽琛屽畬涓鏉℃寚浠わ紝灝辨樉紺篊PU鍐呭悇涓瘎瀛樺櫒鐨勫綋鍓嶅煎強(qiáng)CPU灝嗚鎵ц鐨勪笅涓鏉℃寚浠?wbr>銆?br>
銆銆錛?錛夊鏋淭F=0錛屽垯澶勪簬榪炵畫(huà)宸ヤ綔妯″紡銆?br>
銆銆SF錛?/strong>絎﹀彿鏍囧織SF鐢ㄦ潵鍙嶆槧榪愮畻緇撴灉鐨勭鍙蜂綅錛?wbr>瀹冧笌榪愮畻緇撴灉鐨勬渶楂樹(shù)綅鐩稿悓銆傚湪寰満緋葷粺涓紝鏈夌鍙鋒暟閲囩敤琛ョ爜琛ㄧず娉曪紝鎵浠ワ紝SF涔熷氨鍙嶆槧榪愮畻緇撴灉鐨勬璐熷彿銆?wbr>榪愮畻緇撴灉涓烘鏁版椂錛孲F鐨勫間負(fù)0錛屽惁鍒欏叾鍊間負(fù)1銆?
銆銆ZF錛?/strong> 闆舵爣蹇梈F鐢ㄦ潵鍙嶆槧榪愮畻緇撴灉鏄惁涓?銆傚鏋滆繍綆楃粨鏋滀負(fù)0錛?wbr>鍒欏叾鍊間負(fù)1錛屽惁鍒欏叾鍊間負(fù)0銆傚湪鍒ゆ柇榪愮畻緇撴灉鏄惁涓?鏃訛紝鍙嬌鐢ㄦ鏍囧織浣嶃?
銆銆AF錛?/strong>涓嬪垪鎯呭喌涓嬶紝杈呭姪榪涗綅鏍囧織AF鐨勫艱緗負(fù)1錛?wbr>鍚﹀垯鍏跺間負(fù)0錛?
銆銆(1)銆佸湪瀛楁搷浣滄椂錛屽彂鐢熶綆瀛楄妭鍚戦珮瀛楄妭榪涗綅鎴栧熶綅鏃訛紱
銆銆(2)銆佸湪瀛楄妭鎿嶄綔鏃訛紝鍙戠敓浣?浣嶅悜楂?浣嶈繘浣嶆垨鍊熶綅鏃躲?
銆銆PF錛?/strong>濂囧伓鏍囧織PF鐢ㄤ簬鍙嶆槧榪愮畻緇撴灉涓?#8220;1”鐨勪釜鏁扮殑濂囧伓鎬с?wbr>濡傛灉“1”鐨勪釜鏁頒負(fù)鍋舵暟錛屽垯PF鐨勫間負(fù)1錛屽惁鍒欏叾鍊間負(fù)0銆?
銆銆CF錛?/strong>榪涗綅鏍囧織CF涓昏鐢ㄦ潵鍙嶆槧榪愮畻鏄惁浜х敓榪涗綅鎴栧熶綅銆?wbr>濡傛灉榪愮畻緇撴灉鐨勬渶楂樹(shù)綅浜х敓浜?jiǎn)涓涓繘浣嶆垨鍊熶綅錛岄偅涔堬紝鍏跺間負(fù)1錛?wbr>鍚﹀垯鍏跺間負(fù)0銆?
銆銆4)孌靛瘎瀛樺櫒(Segment Register)
銆銆涓轟簡(jiǎn)榪愮敤鎵鏈夌殑鍐呭瓨絀洪棿錛?086璁懼畾浜?jiǎn)鍥涗釜娈靛瘎瀛樺櫒锛?wbr>涓撻棬鐢ㄦ潵淇濆瓨孌靛湴鍧錛?br>
銆銆CS錛圕ode Segment錛夛細(xì)浠g爜孌靛瘎瀛樺櫒錛?br>
銆銆DS錛圖ata Segment錛夛細(xì)鏁版嵁孌靛瘎瀛樺櫒錛?br>
銆銆SS錛圫tack Segment錛夛細(xì)鍫嗘爤孌靛瘎瀛樺櫒錛?br>
銆銆ES錛圗xtra Segment錛夛細(xì)闄勫姞孌靛瘎瀛樺櫒銆?br>
銆銆褰撲竴涓▼搴忚鎵ц鏃訛紝灝辮鍐沖畾紼嬪簭浠g爜銆?wbr>鏁版嵁鍜屽爢鏍堝悇瑕佺敤鍒板唴瀛樼殑鍝簺浣嶇疆錛岄氳繃璁懼畾孌靛瘎瀛樺櫒 CS錛孌S錛孲S 鏉ユ寚鍚戣繖浜涜搗濮嬩綅緗傞氬父鏄皢DS鍥哄畾錛岃屾牴鎹渶瑕佷慨鏀笴S銆?wbr>鎵浠ワ紝紼嬪簭鍙互鍦ㄥ彲瀵誨潃絀洪棿灝忎簬64K鐨勬儏鍐典笅琚啓鎴愪換鎰忓ぇ灝忋?鎵浠ワ紝紼嬪簭鍜屽叾鏁版嵁緇勫悎璧鋒潵鐨勫ぇ灝忥紝闄愬埗鍦―S 鎵鎸囩殑64K鍐咃紝榪欏氨鏄疌OM鏂囦歡涓嶅緱澶т簬64K鐨勫師鍥犮?wbr>8086浠ュ唴瀛樺仛涓烘垬鍦猴紝鐢ㄥ瘎瀛樺櫒鍋氫負(fù)鍐涗簨鍩哄湴錛屼互鍔犻熷伐浣溿?br>
銆銆浠ヤ笂鏄?086瀵勫瓨鍣ㄧ殑鏁翠綋姒傚喌, 鑷?0386寮濮嬶紝PC榪涘叆32bit鏃朵唬錛屽叾瀵誨潃鏂瑰紡錛?wbr>瀵勫瓨鍣ㄥぇ灝? 鍔熻兘絳夐兘鍙戠敓浜?jiǎn)鍙樺寲锛?xì)
銆銆=============================浠ヤ笅鏄?0386鐨勫瘎瀛樺櫒鐨勪竴浜涜祫鏂?=====================================
銆銆瀵勫瓨鍣ㄩ兘鏄?2-bits瀹姐?br>
銆銆A銆侀氱敤瀵勫瓨鍣?
銆銆涓嬮潰浠嬬粛閫氱敤瀵勫瓨鍣ㄥ強(qiáng)鍏朵範(fàn)鎯敤娉曘傞【鍚嶆濅箟錛?wbr>閫氱敤瀵勫瓨鍣ㄦ槸閭d簺浣犲彲浠ユ牴鎹嚜宸辯殑鎰忔効浣跨敤鐨勫瘎瀛樺櫒錛?wbr>淇敼浠栦滑鐨勫奸氬父涓嶄細(xì)瀵硅綆楁満鐨勮繍琛岄犳垚寰堝ぇ鐨勫獎(jiǎng)鍝嶃?wbr>閫氱敤瀵勫瓨鍣ㄦ渶澶氱殑鐢ㄩ旀槸璁$畻銆?
銆銆EAX錛氶氱敤瀵勫瓨鍣ㄣ傜浉瀵瑰叾浠栧瘎瀛樺櫒錛屽湪榪涜榪愮畻鏂歸潰姣旇緝甯哥敤銆?wbr>鍦ㄤ繚鎶ゆā寮忎腑錛屼篃鍙互浣滀負(fù)鍐呭瓨鍋忕Щ鎸囬拡錛堟鏃訛紝DS浣滀負(fù)孌?瀵勫瓨鍣ㄦ垨閫夋嫨鍣級(jí)
銆銆EBX錛氶氱敤瀵勫瓨鍣ㄣ傞氬父浣滀負(fù)鍐呭瓨鍋忕Щ鎸囬拡浣跨敤錛堢浉瀵逛簬EAX銆?wbr>ECX銆丒DX錛夛紝DS鏄粯璁ょ殑孌靛瘎瀛樺櫒鎴栭夋嫨鍣ㄣ?wbr>鍦ㄤ繚鎶ゆā寮忎腑錛屽悓鏍峰彲浠ヨ搗榪欎釜浣滅敤銆?
銆銆ECX錛氶氱敤瀵勫瓨鍣ㄣ傞氬父鐢ㄤ簬鐗瑰畾鎸囦護(hù)鐨勮鏁般傚湪淇濇姢妯″紡涓紝涔熷彲浠ヤ綔涓哄唴瀛樺亸縐繪寚閽堬紙姝ゆ椂錛孌S浣滀負(fù) 瀵勫瓨鍣ㄦ垨孌甸夋嫨鍣級(jí)銆?br>
銆銆EDX錛氶氱敤瀵勫瓨鍣ㄣ傚湪鏌愪簺榪愮畻涓綔涓篍AX鐨勬孩鍑哄瘎瀛樺櫒錛?wbr>渚嬪涔樸侀櫎錛夈傚湪淇濇姢妯″紡涓紝涔熷彲浠ヤ綔涓哄唴瀛樺亸縐繪寚閽堬紙姝ゆ椂錛?wbr>DS浣滀負(fù)孌?瀵勫瓨鍣ㄦ垨閫夋嫨鍣級(jí)銆?
銆銆鍚孉X鍒嗕負(fù)AH&AL涓鏍鳳紝涓婅堪瀵勫瓨鍣ㄥ寘鎷搴旂殑16-bit鍒嗙粍鍜?-bit鍒嗙粍銆?
銆銆B銆佺敤浣滃唴瀛樻寚閽堢殑鐗規(guī)畩瀵勫瓨鍣?br>
銆銆ESI錛氶氬父鍦ㄥ唴瀛樻搷浣滄寚浠や腑浣滀負(fù)“婧愬湴鍧鎸囬拡”浣跨敤銆傚綋鐒?dòng)灱?wbr>ESI鍙互琚鍏ヤ換鎰忕殑鏁板鹼紝浣嗛氬父娌℃湁浜烘妸瀹冨綋浣滈氱敤瀵勫瓨鍣ㄦ潵鐢ㄣ?wbr>DS鏄粯璁ゆ瀵勫瓨鍣ㄦ垨閫夋嫨鍣ㄣ?
銆銆EDI錛氶氬父鍦ㄥ唴瀛樻搷浣滄寚浠や腑浣滀負(fù)“鐩殑鍦板潃鎸囬拡”浣跨敤銆傚綋鐒?dòng)灱?wbr>EDI涔熷彲浠ヨ瑁呭叆浠繪剰鐨勬暟鍊鹼紝浣嗛氬父娌℃湁浜烘妸瀹冨綋浣滈氱敤瀵勫瓨鍣ㄦ潵鐢ㄣ?wbr>DS鏄粯璁ゆ瀵勫瓨鍣ㄦ垨閫夋嫨鍣ㄣ?
銆銆EBP錛氳繖涔熸槸涓涓綔涓烘寚閽堢殑瀵勫瓨鍣ㄣ傞氬父錛?wbr>瀹冭楂樼駭璇█緙栬瘧鍣ㄧ敤浠ュ緩閫?#8216;鍫嗘爤甯?鏉ヤ繚瀛樺嚱鏁版垨榪囩▼鐨勫眬閮ㄥ彉閲忥紝涓嶈繃錛岃繕鏄偅鍙ヨ瘽錛?wbr>浣犲彲浠ュ湪鍏朵腑淇濆瓨?shù)綘甯屾湜鐨勪恢M綍鏁版嵁銆?wbr>SS鏄畠鐨勯粯璁ゆ瀵勫瓨鍣ㄦ垨閫夋嫨鍣ㄣ?
銆銆娉ㄦ剰錛岃繖涓変釜瀵勫瓨鍣ㄦ病鏈夊搴旂殑8-bit鍒嗙粍銆傛崲璦涔嬶紝浣犲彲浠ラ氳繃SI銆丏I銆丅P浣滀負(fù)鍒悕璁塊棶浠栦滑鐨勪綆16浣嶏紝鍗存病鏈夊姙娉曠洿鎺ヨ闂粬浠殑浣?浣嶃?
銆銆C銆佹閫夋嫨鍣細(xì)
銆銆瀹炴ā寮忎笅鐨勬瀵勫瓨鍣ㄥ埌淇濇姢妯″紡涓嬫憞韜竴鍙樺氨鎴愪簡(jiǎn)閫夋嫨鍣ㄣ?wbr>涓嶅悓鐨勬槸錛屽疄妯″紡涓嬬殑“孌靛瘎瀛樺櫒”鏄?6-bit鐨勶紝鑰屼繚鎶ゆā寮忎笅鐨勯夋嫨鍣ㄦ槸32-bit鐨勩?
銆銆CS 浠g爜孌碉紝鎴栦唬鐮侀夋嫨鍣ㄣ傚悓IP瀵勫瓨鍣?紼嶅悗浠嬬粛)涓鍚屾寚鍚戝綋鍓嶆鍦ㄦ墽琛岀殑閭d釜鍦板潃銆?wbr>澶勭悊鍣ㄦ墽琛屾椂浠庤繖涓瘎瀛樺櫒鎸囧悜鐨勬錛堝疄妯″紡錛夋垨鍐呭瓨錛堜繚鎶ゆā寮忥級(jí)涓幏鍙栨寚浠ゃ傞櫎浜?jiǎn)锜╄浆鎴栧叾浠栧垎鏀寚渥o(hù)涔嬪錛?wbr>浣犳棤娉曚慨鏀硅繖涓瘎瀛樺櫒鐨勫唴瀹廣?
銆銆DS 鏁版嵁孌碉紝鎴栨暟鎹夋嫨鍣ㄣ傝繖涓瘎瀛樺櫒鐨勪綆16 bit榪炲悓ESI涓鍚屾寚鍚戠殑鎸囦護(hù)灝嗚澶勭悊鐨勫唴瀛樸傚悓鏃訛紝鎵鏈夌殑鍐呭瓨鎿嶄綔鎸囦護(hù) 榛樿鎯呭喌涓嬮兘鐢ㄥ畠鎸囧畾鎿嶄綔孌?瀹炴ā寮?鎴栧唴瀛?浣滀負(fù)閫夋嫨鍣紝鍦ㄤ繚鎶ゆā寮忋傝繖涓瘎瀛樺櫒鍙互琚鍏ヤ換鎰忔暟鍊鹼紝鐒惰屽湪榪欎箞鍋氱殑鏃跺欓渶瑕佸皬蹇?jī)涓浜涖傛柟娉曟槸錛岄鍏堟妸鏁版嵁閫佺粰AX錛?wbr>鐒跺悗鍐嶆妸瀹冧粠AX浼犻佺粰DS(褰撶劧錛屼篃鍙互閫氳繃鍫嗘爤鏉ュ仛).
銆銆ES 闄勫姞孌碉紝鎴栭檮鍔犻夋嫨鍣ㄣ傝繖涓瘎瀛樺櫒鐨勪綆16 bit榪炲悓EDI涓鍚屾寚鍚戠殑鎸囦護(hù)灝嗚澶勭悊鐨勫唴瀛樸傚悓鏍風(fēng)殑錛?wbr>榪欎釜瀵勫瓨鍣ㄥ彲浠ヨ瑁呭叆浠繪剰鏁板鹼紝鏂規(guī)硶鍜孌S綾諱技銆?
銆銆FS F孌墊垨F閫夋嫨鍣?鎺ㄦ祴F鍙兘鏄疐ree?)銆?wbr>鍙互鐢ㄨ繖涓瘎瀛樺櫒浣滀負(fù)榛樿孌靛瘎瀛樺櫒鎴栭夋嫨鍣ㄧ殑涓涓浛浠e搧銆?wbr>瀹冨彲浠ヨ瑁呭叆浠諱綍鏁板鹼紝鏂規(guī)硶鍜孌S綾諱技銆?
銆銆GS G孌墊垨G閫夋嫨鍣?G鐨勬剰涔夊拰F涓鏍鳳紝娌℃湁鍦↖ntel鐨勬枃妗d腑瑙i噴)銆傚畠鍜孎S鍑犱箮瀹屽叏涓鏍楓?
銆銆SS 鍫嗘爤孌墊垨鍫嗘爤閫夋嫨鍣ㄣ傝繖涓瘎瀛樺櫒鐨勪綆16 bit榪炲悓ESP涓鍚屾寚鍚戜笅涓嬈″爢鏍堟搷浣?push鍜宲op)鎵瑕佷嬌鐢ㄧ殑鍫嗘爤鍦板潃銆傝繖涓瘎瀛樺櫒涔熷彲浠ヨ瑁呭叆浠繪剰鏁板鹼紝浣犲彲浠ラ氳繃鍏ユ爤鍜屽嚭鏍堟搷浣滄潵緇欎粬璧嬪鹼紝涓嶈繃鐢變簬鍫嗘爤瀵逛簬寰堝鎿嶄綔鏈夊緢閲嶈鐨勬剰涔夛紝鍥犳錛?wbr>涓嶆紜殑淇敼鏈夊彲鑳介犳垚瀵瑰爢鏍堢殑鐮村潖銆?
銆銆* 娉ㄦ剰 涓瀹氫笉瑕佸湪鍒濆姹囩紪鐨勯樁孌墊妸榪欎簺瀵勫瓨鍣ㄥ紕娣楓備粬浠潪甯擱噸瑕侊紝鑰屼竴鏃︿綘鎺屾彙浜?jiǎn)浠栦滑锛屼綘灏卞彲浠ュ浠栦滑鍋氫焕L剰鐨勬搷浣滀簡(jiǎn)銆傛瀵勫瓨鍣紝鎴栭夋嫨鍣紝鍦ㄦ病鏈夋寚瀹氱殑鎯呭喌涓嬮兘鏄嬌鐢ㄩ粯璁ょ殑閭d釜銆?wbr>榪欏彞璇濆湪鐜板湪鐪嬫潵鍙兘鏈夌偣紼閲岀硦娑傦紝涓嶈繃浣犲緢蹇氨浼?xì)鍦ㄥ悗闈㈢煡閬撳浣曞幷d仛銆?
銆銆鎸囦護(hù)鎸囬拡瀵勫瓨鍣細(xì)
銆銆EIP 榪欎釜瀵勫瓨鍣ㄩ潪甯哥殑閲嶈銆傝繖鏄竴涓?2浣嶅鐨勫瘎瀛樺櫒 錛屽悓CS涓鍚屾寚鍚戝嵆灝嗘墽琛岀殑閭f潯鎸囦護(hù)鐨勫湴鍧銆?wbr>涓嶈兘澶熺洿鎺ヤ慨鏀硅繖涓瘎瀛樺櫒鐨勫鹼紝淇敼瀹冪殑鍞竴鏂規(guī)硶鏄煩杞垨鍒嗘敮鎸囦護(hù)銆?CS鏄粯璁ょ殑孌墊垨閫夋嫨鍣?
銆銆涓婇潰鏄渶鍩烘湰鐨勫瘎瀛樺櫒銆備笅闈㈡槸涓浜涘叾浠栫殑瀵勫瓨鍣紝浣犵敋鑷沖彲鑳芥病鏈夊惉璇磋繃瀹冧滑銆?閮芥槸32浣嶅)錛?br>
銆銆CR0, CR2, CR3(鎺у埗瀵勫瓨鍣?銆備婦涓涓緥瀛愶紝CR0鐨勪綔鐢ㄦ槸鍒囨崲瀹炴ā寮忓拰淇濇姢妯″紡銆?
銆銆榪樻湁鍏朵粬涓浜涘瘎瀛樺櫒錛孌0, D1, D2, D3, D6鍜孌7(璋冭瘯瀵勫瓨鍣?銆?wbr>浠栦滑鍙互浣滀負(fù)璋冭瘯鍣ㄧ殑紜歡鏀寔鏉ヨ緗潯浠舵柇鐐廣?
銆銆TR3, TR4, TR5, TR6 鍜?TR? 瀵勫瓨鍣?嫻嬭瘯瀵勫瓨鍣?鐢ㄤ簬鏌愪簺鏉′歡嫻嬭瘯

鏈榪戝湪瀛︽眹緙栵紝鐪嬪埌榪欑瘒鏂囩珷錛屾枃绔犵殑鍘熷嚭澶勫凡緇忔煡涓嶅嚭鏉ヤ簡(jiǎn)錛屼絾瑙夊緱涓嶉敊錛屾墍浠ヨ漿鍑烘潵錛屽綋浣滃浠藉涔?fàn)銆?/p>

4涓暟鎹瘎瀛樺櫒(EAX銆丒BX銆丒CX鍜孍DX)
2涓彉鍧鍜屾寚閽堝瘎瀛樺櫒(ESI鍜孍DI) 2涓寚閽堝瘎瀛樺櫒(ESP鍜孍BP)
6涓瀵勫瓨鍣?ES銆丆S銆丼S銆丏S銆丗S鍜孏S)
1涓寚浠ゆ寚閽堝瘎瀛樺櫒(EIP) 1涓爣蹇楀瘎瀛樺櫒(EFlags)

1銆佹暟鎹瘎瀛樺櫒
鏁版嵁瀵勫瓨鍣ㄤ富瑕佺敤鏉ヤ繚瀛樻搷浣滄暟鍜岃繍綆楃粨鏋滅瓑淇℃伅錛屼粠鑰岃妭鐪佽鍙栨搷浣滄暟鎵闇鍗犵敤鎬葷嚎鍜岃闂瓨鍌ㄥ櫒鐨勬椂闂淬?2浣岰PU鏈?涓?2浣嶇殑閫氱敤瀵勫瓨鍣‥AX銆丒BX銆丒CX鍜孍DX銆傚浣?6浣嶆暟鎹殑瀛樺彇錛屼笉浼?xì)濯?jiǎng)鍝嶉珮16浣嶇殑鏁版嵁銆傝繖浜涗綆16浣嶅瘎瀛樺櫒鍒嗗埆鍛藉悕涓猴細(xì)AX銆丅X銆丆X鍜孌X錛屽畠鍜屽厛鍓嶇殑CPU涓殑瀵勫瓨鍣ㄧ浉涓鑷淬?/p>

4涓?6浣嶅瘎瀛樺櫒鍙堝彲鍒嗗壊鎴?涓嫭绔嬬殑8浣嶅瘎瀛樺櫒(AX錛欰H-AL銆丅X錛欱H-BL銆丆X錛欳H-CL銆丏X錛欴H-DL)錛屾瘡涓瘎瀛樺櫒閮芥湁鑷繁鐨勫悕縐幫紝鍙嫭绔嬪瓨鍙栥傜▼搴忓憳鍙埄鐢ㄦ暟鎹瘎瀛樺櫒鐨勮繖縐?#8221;鍙垎鍙悎”鐨勭壒鎬э紝鐏墊椿鍦板鐞嗗瓧/瀛楄妭鐨勪俊鎭?br>瀵勫瓨鍣ˋX鍜孉L閫氬父縐頒負(fù)绱姞鍣?Accumulator)錛岀敤绱姞鍣ㄨ繘琛岀殑鎿嶄綔鍙兘闇瑕佹洿灝戞椂闂淬傜瘡鍔犲櫒鍙敤浜庝箻銆?闄ゃ佽緭鍏?杈撳嚭絳夋搷浣滐紝瀹冧滑鐨勪嬌鐢ㄩ鐜囧緢楂橈紱 瀵勫瓨鍣˙X縐頒負(fù)鍩哄湴鍧瀵勫瓨鍣?Base Register)銆傚畠鍙綔涓哄瓨鍌ㄥ櫒鎸囬拡鏉ヤ嬌鐢紱 瀵勫瓨鍣–X縐頒負(fù)璁℃暟瀵勫瓨鍣?Count Register)銆傚湪寰幆鍜屽瓧絎︿覆鎿嶄綔鏃訛紝瑕佺敤瀹冩潵鎺у埗寰幆嬈℃暟錛涘湪浣嶆搷浣?涓紝褰撶Щ澶氫綅鏃訛紝瑕佺敤CL鏉ユ寚鏄庣Щ浣嶇殑浣嶆暟錛?br>瀵勫瓨鍣―X縐頒負(fù)鏁版嵁瀵勫瓨鍣?Data Register)銆傚湪榪涜涔樸侀櫎榪愮畻鏃訛紝瀹冨彲浣滀負(fù)榛樿鐨勬搷浣滄暟鍙備笌榪愮畻錛屼篃鍙敤浜庡瓨鏀綢/O鐨勭鍙e湴鍧銆傚湪16浣岰PU涓紝AX銆丅X銆丆X鍜孌X涓嶈兘浣滀負(fù)鍩哄潃鍜屽彉鍧瀵勫瓨鍣ㄦ潵瀛樻斁瀛樺偍鍗曞厓鐨勫湴鍧錛屼絾鍦?2浣岰PU涓紝鍏?2浣嶅瘎瀛樺櫒EAX銆丒BX銆丒CX鍜孍DX涓嶄粎鍙紶閫佹暟鎹佹殏瀛樻暟鎹繚瀛樼畻鏈昏緫榪愮畻緇撴灉錛岃屼笖涔熷彲浣滀負(fù)鎸囬拡瀵勫瓨鍣紝鎵浠ワ紝榪欎簺32浣嶅瘎瀛樺櫒鏇村叿鏈夐氱敤鎬с?br>2銆佸彉鍧瀵勫瓨鍣?br>32浣岰PU鏈?涓?2浣嶉氱敤瀵勫瓨鍣‥SI鍜孍DI銆傚叾浣?6浣嶅搴斿厛鍓岰PU涓殑SI鍜孌I錛屽浣?6浣嶆暟鎹殑瀛樺彇錛屼笉褰卞搷楂?6浣嶇殑鏁版嵁銆?br>瀵勫瓨鍣‥SI銆丒DI銆丼I鍜孌I縐頒負(fù)鍙樺潃瀵勫瓨鍣?Index Register)錛屽畠浠富瑕佺敤浜庡瓨鏀懼瓨鍌ㄥ崟鍏冨湪孌靛唴鐨勫亸縐婚噺錛岀敤瀹冧滑鍙疄鐜板縐嶅瓨鍌ㄥ櫒鎿嶄綔鏁扮殑瀵誨潃鏂瑰紡錛屼負(fù)浠ヤ笉鍚岀殑鍦板潃褰㈠紡璁塊棶瀛樺偍鍗曞厓鎻愪緵鏂逛究銆傚彉鍧瀵勫瓨鍣ㄤ笉鍙垎鍓叉垚8浣嶅瘎瀛樺櫒銆備綔涓洪氱敤瀵勫瓨鍣紝涔熷彲瀛樺偍綆楁湳閫昏緫榪愮畻鐨勬搷浣滄暟鍜岃繍綆楃粨鏋溿傚畠浠彲浣滀竴鑸殑瀛樺偍鍣ㄦ寚閽堜嬌鐢ㄣ傚湪瀛楃涓叉搷浣滄寚浠ょ殑鎵ц榪囩▼涓紝瀵瑰畠浠湁鐗瑰畾鐨勮姹傦紝鑰屼笖榪樺叿鏈夌壒孌婄殑鍔熻兘銆?br>3銆佹寚閽堝瘎瀛樺櫒
32浣岰PU鏈?涓?2浣嶉氱敤瀵勫瓨鍣‥BP鍜孍SP銆傚叾浣?6浣嶅搴斿厛鍓岰PU涓殑SBP鍜孲P錛屽浣?6浣嶆暟鎹殑瀛樺彇錛屼笉褰卞搷楂?6浣嶇殑鏁版嵁銆?br>瀵勫瓨鍣‥BP銆丒SP銆丅P鍜孲P縐頒負(fù)鎸囬拡瀵勫瓨鍣?Pointer Register)錛屼富瑕佺敤浜庡瓨鏀懼爢鏍堝唴瀛樺偍鍗曞厓鐨勫亸縐婚噺錛岀敤瀹冧滑鍙疄鐜板縐嶅瓨鍌ㄥ櫒鎿嶄綔鏁扮殑瀵誨潃鏂瑰紡錛屼負(fù)浠ヤ笉鍚岀殑鍦板潃褰㈠紡璁塊棶瀛樺偍鍗曞厓鎻愪緵鏂逛究銆傛寚閽堝瘎瀛樺櫒涓嶅彲鍒嗗壊鎴?浣嶅瘎瀛樺櫒銆備綔涓洪氱敤瀵勫瓨鍣紝涔熷彲瀛樺偍綆楁湳閫昏緫榪愮畻鐨勬搷浣滄暟鍜岃繍綆楃粨鏋溿?br>瀹冧滑涓昏鐢ㄤ簬璁塊棶鍫嗘爤鍐呯殑瀛樺偍鍗曞厓錛屽茍涓旇瀹氾細(xì)
BP涓哄熀鎸囬拡(Base Pointer)瀵勫瓨鍣紝鐢ㄥ畠鍙洿鎺ュ瓨鍙栧爢鏍堜腑鐨勬暟鎹紱
SP涓哄爢鏍堟寚閽?Stack Pointer)瀵勫瓨鍣紝鐢ㄥ畠鍙彲璁塊棶鏍堥《銆?br>4銆佹瀵勫瓨鍣?br>孌靛瘎瀛樺櫒鏄牴鎹唴瀛樺垎孌電殑綆$悊妯″紡鑰岃緗殑銆傚唴瀛樺崟鍏冪殑鐗╃悊鍦板潃鐢辨瀵勫瓨鍣ㄧ殑鍊煎拰涓涓亸縐婚噺緇勫悎鑰屾垚
鐨勶紝榪欐牱鍙敤涓や釜杈冨皯浣嶆暟鐨勫肩粍鍚堟垚涓涓彲璁塊棶杈冨ぇ鐗╃悊絀洪棿鐨勫唴瀛樺湴鍧銆?br>CPU鍐呴儴鐨勬瀵勫瓨鍣細(xì)
CS鈥斺斾唬鐮佹瀵勫瓨鍣?Code Segment Register)錛屽叾鍊間負(fù)浠g爜孌電殑孌靛鹼紱
DS鈥斺旀暟鎹瀵勫瓨鍣?Data Segment Register)錛屽叾鍊間負(fù)鏁版嵁孌電殑孌靛鹼紱
ES鈥斺旈檮鍔犳瀵勫瓨鍣?Extra Segment Register)錛屽叾鍊間負(fù)闄勫姞鏁版嵁孌電殑孌靛鹼紱
SS鈥斺斿爢鏍堟瀵勫瓨鍣?Stack Segment Register)錛屽叾鍊間負(fù)鍫嗘爤孌電殑孌靛鹼紱
FS鈥斺旈檮鍔犳瀵勫瓨鍣?Extra Segment Register)錛屽叾鍊間負(fù)闄勫姞鏁版嵁孌電殑孌靛鹼紱
GS鈥斺旈檮鍔犳瀵勫瓨鍣?Extra Segment Register)錛屽叾鍊間負(fù)闄勫姞鏁版嵁孌電殑孌靛箋?/p>

鍦?6浣岰PU緋葷粺涓紝瀹冨彧鏈?涓瀵勫瓨鍣紝鎵浠ワ紝紼嬪簭鍦ㄤ換浣曟椂鍒昏嚦澶氭湁4涓鍦ㄤ嬌鐢ㄧ殑孌靛彲鐩存帴璁塊棶錛涘湪32浣嶅井鏈虹郴緇熶腑錛屽畠鏈?涓瀵勫瓨鍣紝鎵浠ワ紝鍦ㄦ鐜涓嬪紑鍙戠殑紼嬪簭鏈澶氬彲鍚屾椂璁塊棶6涓銆?2浣岰PU鏈変袱涓笉鍚岀殑宸ヤ綔鏂瑰紡錛氬疄鏂瑰紡鍜屼繚鎶ゆ柟寮忋傚湪姣忕鏂瑰紡涓嬶紝孌靛瘎瀛樺櫒鐨勪綔鐢ㄦ槸涓嶅悓鐨勩傛湁鍏寵瀹氱畝鍗曟弿榪板涓嬶細(xì)
瀹炴柟寮忥細(xì) 鍓?涓瀵勫瓨鍣–S銆丏S銆丒S鍜孲S涓庡厛鍓岰PU涓殑鎵瀵瑰簲鐨勬瀵勫瓨鍣ㄧ殑鍚箟瀹屽叏涓鑷達(dá)紝鍐呭瓨鍗曞厓鐨勯昏緫鍦板潃浠嶄負(fù)”孌靛鹼細(xì)鍋忕Щ閲?#8221;鐨勫艦寮忋備負(fù)璁塊棶鏌愬唴瀛樻鍐呯殑鏁版嵁錛屽繀欏諱嬌鐢ㄨ孌靛瘎瀛樺櫒鍜屽瓨鍌ㄥ崟鍏冪殑鍋忕Щ閲忋?br>淇濇姢鏂瑰紡錛?鍦ㄦ鏂瑰紡涓嬶紝鎯呭喌瑕佸鏉傚緱澶氾紝瑁呭叆孌靛瘎瀛樺櫒鐨勪笉鍐嶆槸孌靛鹼紝鑰屾槸縐頒負(fù)”閫夋嫨瀛?#8221;(Selector)鐨勬煇涓箋?br>5銆佹寚浠ゆ寚閽堝瘎瀛樺櫒
32浣岰PU鎶婃寚浠ゆ寚閽堟墿灞曞埌32浣嶏紝騫惰浣淓IP錛孍IP鐨勪綆16浣嶄笌鍏堝墠CPU涓殑IP浣滅敤鐩稿悓銆?br>鎸囦護(hù)鎸囬拡EIP銆両P(Instruction Pointer)鏄瓨鏀句笅嬈″皢瑕佹墽琛岀殑鎸囦護(hù)鍦ㄤ唬鐮佹鐨勫亸縐婚噺銆傚湪鍏鋒湁棰勫彇鎸囦護(hù)鍔熻兘鐨勭郴緇熶腑錛屼笅嬈¤鎵ц鐨勬寚浠ら氬父宸茶棰勫彇鍒版寚浠ら槦鍒椾腑錛岄櫎闈炲彂鐢熻漿縐繪儏鍐點(diǎn)傛墍浠ワ紝鍦ㄧ悊瑙e畠浠殑鍔熻兘鏃訛紝涓嶈冭檻瀛樺湪鎸囦護(hù)闃熷垪鐨勬儏鍐點(diǎn)?br>鍦ㄥ疄鏂瑰紡涓嬶紝鐢變簬姣忎釜孌電殑鏈澶ц寖鍥翠負(fù)64K錛屾墍浠ワ紝EIP涓殑楂?6浣嶈偗瀹氶兘涓?錛屾鏃訛紝鐩稿綋浜庡彧鐢ㄥ叾浣?6浣嶇殑IP鏉ュ弽鏄犵▼搴忎腑鎸囦護(hù)鐨勬墽琛屾搴忋?br>6銆佹爣蹇楀瘎瀛樺櫒
涓銆佽繍綆楃粨鏋滄爣蹇椾綅
1銆佽繘浣嶆爣蹇桟F(Carry Flag)
榪涗綅鏍囧織CF涓昏鐢ㄦ潵鍙嶆槧榪愮畻鏄惁浜х敓榪涗綅鎴栧熶綅銆傚鏋滆繍綆楃粨鏋滅殑鏈楂樹(shù)綅浜х敓浜?jiǎn)涓涓繘浣嶆垨鍊熶綅錛岄偅涔堬紝鍏跺間負(fù)1錛屽惁鍒欏叾鍊間負(fù)0銆備嬌鐢ㄨ鏍囧織浣嶇殑鎯呭喌鏈夛細(xì)澶氬瓧(瀛楄妭)鏁扮殑鍔犲噺榪愮畻錛屾棤絎﹀彿鏁扮殑澶у皬姣旇緝榪愮畻錛岀Щ浣嶆搷浣滐紝瀛?瀛楄妭)涔嬮棿縐諱綅錛屼笓闂ㄦ敼鍙楥F鍊肩殑鎸囦護(hù)絳夈?br>2銆佸鍋舵爣蹇桺F(Parity Flag)
濂囧伓鏍囧織PF鐢ㄤ簬鍙嶆槧榪愮畻緇撴灉涓?#8221;1″鐨勪釜鏁扮殑濂囧伓鎬с傚鏋?#8221;1″鐨勪釜鏁頒負(fù)鍋舵暟錛屽垯PF鐨勫間負(fù)1錛屽惁鍒欏叾鍊間負(fù)0銆?br>鍒╃敤PF鍙繘琛屽鍋舵牎楠屾鏌ワ紝鎴栦駭鐢熷鍋舵牎楠屼綅銆傚湪鏁版嵁浼犻佽繃紼嬩腑錛屼負(fù)浜?jiǎn)鎻愪緵浼犻佺殑鍙潬鎬э紝濡傛灉閲囩敤濂囧伓鏍¢獙鐨勬柟娉曪紝灝卞彲浣跨敤璇ユ爣蹇椾綅銆?br>3銆佽緟鍔╄繘浣嶆爣蹇桝F(Auxiliary Carry Flag)
鍦ㄥ彂鐢熶笅鍒楁儏鍐墊椂錛岃緟鍔╄繘浣嶆爣蹇桝F鐨勫艱緗負(fù)1錛屽惁鍒欏叾鍊間負(fù)0錛?br>(1)銆佸湪瀛楁搷浣滄椂錛屽彂鐢熶綆瀛楄妭鍚戦珮瀛楄妭榪涗綅鎴栧熶綅鏃訛紱
(2)銆佸湪瀛楄妭鎿嶄綔鏃訛紝鍙戠敓浣?浣嶅悜楂?浣嶈繘浣嶆垨鍊熶綅鏃躲?br>瀵逛互涓?涓繍綆楃粨鏋滄爣蹇椾綅錛屽湪涓鑸紪紼嬫儏鍐典笅錛屾爣蹇椾綅CF銆乑F銆丼F鍜孫F鐨勪嬌鐢ㄩ鐜囪緝楂橈紝鑰屾爣蹇椾綅PF鍜孉F鐨勪嬌鐢ㄩ鐜囪緝浣庛?br>4銆侀浂鏍囧織ZF(Zero Flag)
闆舵爣蹇梈F鐢ㄦ潵鍙嶆槧榪愮畻緇撴灉鏄惁涓?銆傚鏋滆繍綆楃粨鏋滀負(fù)0錛屽垯鍏跺間負(fù)1錛屽惁鍒欏叾鍊間負(fù)0銆傚湪鍒ゆ柇榪愮畻緇撴灉鏄惁涓?鏃訛紝鍙嬌鐢ㄦ鏍囧織浣嶃?br>5銆佺鍙鋒爣蹇桽F(Sign Flag)
絎﹀彿鏍囧織SF鐢ㄦ潵鍙嶆槧榪愮畻緇撴灉鐨勭鍙蜂綅錛屽畠涓庤繍綆楃粨鏋滅殑鏈楂樹(shù)綅鐩稿悓銆傚湪寰満緋葷粺涓紝鏈夌鍙鋒暟閲囩敤琛ョ爜琛ㄧず娉曪紝鎵浠ワ紝SF涔熷氨鍙嶆槧榪愮畻緇撴灉鐨勬璐熷彿銆傝繍綆楃粨鏋滀負(fù)姝f暟鏃訛紝SF鐨勫間負(fù)0錛屽惁鍒欏叾鍊間負(fù)1銆?br>6銆佹孩鍑烘爣蹇桹F(Overflow Flag)
婧㈠嚭鏍囧織OF鐢ㄤ簬鍙嶆槧鏈夌鍙鋒暟鍔犲噺榪愮畻鎵寰楃粨鏋滄槸鍚︽孩鍑恒傚鏋滆繍綆楃粨鏋滆秴榪囧綋鍓嶈繍綆椾綅鏁版墍鑳借〃紺虹殑鑼冨洿錛屽垯縐頒負(fù)婧㈠嚭錛孫F鐨勫艱緗負(fù)1錛屽惁鍒欙紝OF鐨勫艱娓呬負(fù)0銆?#8221;婧㈠嚭”鍜?#8221;榪涗綅”鏄袱涓笉鍚屽惈涔夌殑姒傚康錛屼笉瑕佹販娣嗐傚鏋滀笉澶竻妤氱殑璇濓紝璇鋒煡闃呫婅綆楁満緇勬垚鍘熺悊銆嬭紼嬩腑鐨勬湁鍏崇珷鑺傘?br>浜屻佺姸鎬佹帶鍒舵爣蹇椾綅
鐘舵佹帶鍒舵爣蹇椾綅鏄敤鏉ユ帶鍒禖PU鎿嶄綔鐨勶紝瀹冧滑瑕侀氳繃涓撻棬鐨勬寚浠ゆ墠鑳戒嬌涔嬪彂鐢熸敼鍙樸?br>1銆佽拷韙爣蹇桾F(Trap Flag)
褰撹拷韙爣蹇桾F琚疆涓?鏃訛紝CPU榪涘叆鍗曟鎵ц鏂瑰紡錛屽嵆姣忔墽琛屼竴鏉℃寚浠わ紝浜х敓涓涓崟姝ヤ腑鏂姹傘傝繖縐嶆柟寮忎富瑕佺敤浜庣▼搴忕殑璋冭瘯銆傛寚浠ょ郴緇熶腑娌℃湁涓撻棬鐨勬寚浠ゆ潵鏀瑰彉鏍囧織浣峊F鐨勫鹼紝浣嗙▼搴忓憳鍙敤鍏跺畠鍔炴硶鏉ユ敼鍙樺叾鍊箋?br>2銆佷腑鏂厑璁告爣蹇桰F(Interrupt-enable Flag)
涓柇鍏佽鏍囧織IF鏄敤鏉ュ喅瀹欳PU鏄惁鍝嶅簲CPU澶栭儴鐨勫彲灞忚斀涓柇鍙戝嚭鐨勪腑鏂姹傘備絾涓嶇璇ユ爣蹇椾負(fù)浣曞鹼紝CPU閮藉繀欏誨搷搴擟PU澶栭儴鐨勪笉鍙睆钄戒腑鏂墍鍙戝嚭鐨勪腑鏂姹傦紝浠ュ強(qiáng)CPU鍐呴儴浜х敓鐨勪腑鏂姹傘傚叿浣撹瀹氬涓嬶細(xì)
(1)銆佸綋IF=1鏃訛紝CPU鍙互鍝嶅簲CPU澶栭儴鐨勫彲灞忚斀涓柇鍙戝嚭鐨勪腑鏂姹傦紱
(2)銆佸綋IF=0鏃訛紝CPU涓嶅搷搴擟PU澶栭儴鐨勫彲灞忚斀涓柇鍙戝嚭鐨勪腑鏂姹傘?br>CPU鐨勬寚浠ょ郴緇熶腑涔熸湁涓撻棬鐨勬寚浠ゆ潵鏀瑰彉鏍囧織浣岻F鐨勫箋?br>3銆佹柟鍚戞爣蹇桪F(Direction Flag)
鏂瑰悜鏍囧織DF鐢ㄦ潵鍐沖畾鍦ㄤ覆鎿嶄綔鎸囦護(hù)鎵ц鏃舵湁鍏蟲(chóng)寚閽堝瘎瀛樺櫒鍙戠敓璋冩暣鐨勬柟鍚戙傚叿浣撹瀹氬湪絎?.2.11鑺傗斺斿瓧絎︿覆鎿嶄綔鎸囦護(hù)鈥斺斾腑緇欏嚭銆傚湪寰満鐨勬寚浠ょ郴緇熶腑錛岃繕鎻愪緵浜?jiǎn)涓撻棬鐨勬寚渥o(hù)鏉ユ敼鍙樻爣蹇椾綅DF鐨勫箋?br>涓夈?2浣嶆爣蹇楀瘎瀛樺櫒澧炲姞鐨勬爣蹇椾綅
1銆両/O鐗規(guī)潈鏍囧織IOPL(I/O Privilege Level)
I/O鐗規(guī)潈鏍囧織鐢ㄤ袱浣嶄簩榪涘埗浣嶆潵琛ㄧず錛屼篃縐頒負(fù)I/O鐗規(guī)潈綰у瓧孌點(diǎn)傝瀛楁鎸囧畾浜?jiǎn)瑕佹眰鎵цI/O鎸囦護(hù)鐨勭壒鏉冪駭銆傚鏋滃綋鍓嶇殑鐗規(guī)潈綰у埆鍦ㄦ暟鍊間笂灝忎簬絳変簬IOPL鐨勫鹼紝閭d箞錛岃I/O鎸囦護(hù)鍙墽琛岋紝鍚﹀垯灝嗗彂鐢熶竴涓繚鎶ゅ紓甯搞?br>2銆佸祵濂椾換鍔℃爣蹇桸T(Nested Task)
宓屽浠誨姟鏍囧織NT鐢ㄦ潵鎺у埗涓柇榪斿洖鎸囦護(hù)IRET鐨勬墽琛屻傚叿浣撹瀹氬涓嬶細(xì)
(1)銆佸綋NT=0錛岀敤鍫嗘爤涓繚瀛樼殑鍊兼仮澶岴FLAGS銆丆S鍜孍IP錛屾墽琛屽父瑙勭殑涓柇榪斿洖鎿嶄綔錛?br>(2)銆佸綋NT=1錛岄氳繃浠誨姟杞崲瀹炵幇涓柇榪斿洖銆?br>3銆侀噸鍚姩鏍囧織RF(Restart Flag)
閲嶅惎鍔ㄦ爣蹇桼F鐢ㄦ潵鎺у埗鏄惁鎺ュ彈璋冭瘯鏁呴殰銆傝瀹氾細(xì)RF=0鏃訛紝琛ㄧず”鎺ュ彈”璋冭瘯鏁呴殰錛屽惁鍒欐嫆緇濅箣銆傚湪鎴愬姛鎵ц瀹屼竴鏉℃寚浠ゅ悗錛屽鐞嗘満鎶奟F緗負(fù)0錛屽綋鎺ュ彈鍒頒竴涓潪璋冭瘯鏁呴殰鏃訛紝澶勭悊鏈哄氨鎶婂畠緗負(fù)1銆?br>4銆佽櫄鎷?086鏂瑰紡鏍囧織VM(Virtual 8086 Mode)
濡傛灉璇ユ爣蹇楃殑鍊間負(fù)1錛屽垯琛ㄧず澶勭悊鏈哄浜庤櫄鎷熺殑8086鏂瑰紡涓嬬殑宸ヤ綔鐘舵侊紝鍚﹀垯錛屽鐞嗘満澶勪簬涓鑸繚鎶ゆ柟寮忎笅鐨勫伐浣滅姸鎬?/p>


鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/liguodong86/archive/2009/03/02/3949721.aspx



]]>
姹囩紪涓殑瀵勫瓨鍣ㄨ鏄?/title><link>http://m.shnenglu.com/tdweng/articles/118903.html</link><dc:creator>蹇?jī)缇?/dc:creator><author>蹇?jī)缇?/author><pubDate>Tue, 29 Jun 2010 02:24:00 GMT</pubDate><guid>http://m.shnenglu.com/tdweng/articles/118903.html</guid><wfw:comment>http://m.shnenglu.com/tdweng/comments/118903.html</wfw:comment><comments>http://m.shnenglu.com/tdweng/articles/118903.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/tdweng/comments/commentRss/118903.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/tdweng/services/trackbacks/118903.html</trackback:ping><description><![CDATA[<p>姹囩紪涓殑瀵勫瓨鍣ㄨ鏄?br>姹囩紪璇█鍜孋PU浠ュ強(qiáng)鍐呭瓨,绔彛絳夌‖浠剁煡璇嗘槸榪炲湪涓璧風(fēng)殑. 榪欎篃鏄負(fù)浠涔堟眹緙栬璦娌℃湁閫氱敤鎬х殑鍘熷洜. 涓嬮潰綆鍗曡璁插熀鏈煡璇?閽堝INTEL x86鍙?qiáng)鍏跺吋瀹规? ============================ <br>x86姹囩紪璇█鐨勬寚浠?鍏舵搷浣滃璞℃槸CPU涓婄殑瀵勫瓨鍣?緋葷粺鍐呭瓨,鎴栬呯珛鍗蟲(chóng)暟. 鏈変簺鎸囦護(hù)琛ㄩ潰涓婃病鏈夋搷浣滄暟, 鎴栬呯湅涓婂幓緙哄皯鎿嶄綔鏁? 鍏跺疄璇ユ寚浠ゆ湁鍐呭畾鐨勬搷浣滃璞? 姣斿push鎸囦護(hù), 涓瀹氭槸瀵筍S:ESP鎸囧畾鐨勫唴瀛樻搷浣? 鑰宑dq鐨勬搷浣滃璞′竴瀹氭槸eax / edx. 鍦ㄦ眹緙栬璦涓?瀵勫瓨鍣ㄧ敤鍚嶅瓧鏉ヨ闂? <br>CPU 瀵勫瓨鍣ㄦ湁濂藉嚑綾? 鍒嗗埆鏈変笉鍚岀殑鐢ㄥ: <br>  <span style="COLOR: red"> <strong>1. 閫氱敤瀵勫瓨鍣? EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP(榪欎釜铏界劧閫氱敤,浣嗗緢灝戣鐢ㄥ仛闄や簡(jiǎn)鍫嗘爤鎸囬拡澶栫殑鐢ㄩ? 榪欎簺32浣嶅彲浠ヨ鐢ㄤ綔澶氱鐢ㄩ?浣嗘瘡涓涓兘鏈?涓撻暱".</strong></span> <br>   EAX 鏄?绱姞鍣?(accumulator), 瀹冩槸寰堝鍔犳硶涔樻硶鎸囦護(hù)鐨勭己鐪佸瘎瀛樺櫒.<br>   EBX 鏄?鍩哄湴鍧"(base)瀵勫瓨鍣? 鍦ㄥ唴瀛樺鍧鏃跺瓨鏀懼熀鍦板潃. <br>   ECX 鏄鏁板櫒(counter), 鏄噸澶?REP)鍓嶇紑鎸囦護(hù)鍜孡OOP鎸囦護(hù)鐨勫唴瀹氳鏁板櫒.<br>   EDX鏄?..(蹇樹(shù)簡(jiǎn)..鍝堝搱)浣嗗畠鎬繪槸琚敤鏉ユ斁鏁存暟闄ゆ硶浜х敓鐨勪綑鏁? 榪?涓瘎瀛樺櫒鐨勪綆16浣嶅彲浠ヨ鍗曠嫭璁塊棶,鍒嗗埆鐢ˋX,BX,CX鍜孌X. AX鍙堝彲浠ュ崟鐙闂綆8浣?AL)鍜岄珮8浣?AH), BX,CX,DX涔熺被浼? 鍑芥暟鐨勮繑鍥炲肩粡甯歌鏀懼湪EAX涓?<br>   ESI/EDI鍒嗗埆鍙仛"婧?鐩爣绱㈠紩瀵勫瓨鍣?(source/destination index),鍥犱負(fù)鍦ㄥ緢澶氬瓧絎︿覆鎿嶄綔鎸囦護(hù)涓? <br>   DS:ESI鎸囧悜婧愪覆,鑰孍S:EDI鎸囧悜鐩爣涓? EBP鏄?鍩哄潃鎸囬拡"(BASE POINTER), 瀹冩渶緇忓父琚敤浣滈珮綰ц璦鍑芥暟璋冪敤鐨?妗嗘灦鎸囬拡"(frame pointer). 鍦ㄧ牬瑙g殑鏃跺?緇忓父鍙互鐪嬭涓涓爣鍑嗙殑鍑芥暟璧峰浠g爜: push ebp ;淇濆瓨褰撳墠ebp mov ebp,esp ;EBP璁句負(fù)褰撳墠鍫嗘爤鎸囬拡 sub esp, xxx ;棰勭暀xxx瀛楄妭緇欏嚱鏁頒復(fù)鏃跺彉閲? ... 榪欐牱涓鏉?EBP 鏋勬垚浜?jiǎn)璇ュ嚱鏁扮殑涓涓鏋? 鍦‥BP涓婃柟鍒嗗埆鏄師鏉ョ殑EBP, 榪斿洖鍦板潃鍜屽弬鏁? EBP涓嬫柟鍒欐槸涓存椂鍙橀噺. 鍑芥暟榪斿洖鏃朵綔 mov esp,ebp/pop ebp/ret 鍗沖彲. ESP 涓撻棬鐢ㄤ綔鍫嗘爤鎸囬拡. <br><span style="COLOR: red"><strong>2. 孌靛瘎瀛樺櫒: CS(Code Segment錛屼唬鐮佹) 鎸囧畾褰撳墠鎵ц鐨勪唬鐮佹</strong></span><br>EIP (Instruction pointer, 鎸囦護(hù)鎸囬拡)鍒欐寚鍚戣孌典腑涓涓叿浣撶殑鎸囦護(hù). CS:EIP鎸囧悜鍝釜鎸囦護(hù), CPU 灝辨墽琛屽畠. 涓鑸彧鑳界敤jmp, ret, jnz, call 絳夋寚浠ゆ潵鏀瑰彉紼嬪簭嫻佺▼,鑰屼笉鑳界洿鎺ュ瀹冧滑璧嬪? DS(DATA SEGMENT, 鏁版嵁孌? 鎸囧畾涓涓暟鎹. 娉ㄦ剰:鍦ㄥ綋鍓嶇殑璁$畻鏈虹郴緇熶腑, 浠g爜鍜屾暟鎹病鏈夋湰璐ㄥ樊鍒? 閮芥槸涓涓蹭簩榪涘埗鏁? 鍖哄埆鍙湪浜庝綘濡備綍鐢ㄥ畠. 渚嬪, CS 鍒跺畾鐨勬鎬繪槸琚敤浣滀唬鐮? 涓鑸笉鑳介氳繃CS鎸囧畾鐨勫湴鍧鍘諱慨鏀硅孌? 鐒惰?浣犲彲浠ヤ負(fù)鍚屼竴涓鐢寵涓涓暟鎹鎻忚堪絎?鍒悕"鑰岄氳繃DS鏉ヨ闂?淇敼. 鑷慨鏀逛唬鐮佺殑紼嬪簭甯稿姝ゅ仛. ES,FS,GS 鏄緟鍔╃殑孌靛瘎瀛樺櫒, 鎸囧畾闄勫姞鐨勬暟鎹. SS(STACK SEGMENT)鎸囧畾褰撳墠鍫嗘爤孌? ESP 鍒欐寚鍑?guó)櫙D典腑褰撳墠鐨勫爢鏍堥《. 鎵鏈塸ush/pop 緋誨垪鎸囦護(hù)閮藉彧瀵筍S:ESP鎸囧嚭鐨勫湴鍧榪涜鎿嶄綔.<br> <span style="COLOR: red"><strong>3. 鏍囧織瀵勫瓨鍣?EFLAGS): 璇ュ瘎瀛樺櫒鏈?2浣?緇勫悎浜?jiǎn)鍚勪釜绯痪l熸爣蹇?</strong></span><br> EFLAGS涓鑸笉浣滀負(fù)鏁翠綋璁塊棶, 鑰屽彧瀵瑰崟涓鐨勬爣蹇椾綅鎰熷叴瓚? 甯哥敤鐨勬爣蹇楁湁: 榪涗綅鏍囧織C(CARRY), 鍦ㄥ姞娉曚駭鐢熻繘浣嶆垨鍑忔硶鏈夊熶綅鏃剁疆1, 鍚﹀垯涓?. 闆舵爣蹇梈(ZERO), 鑻ヨ繍綆楃粨鏋滀負(fù)0鍒欑疆1, 鍚﹀垯涓? 絎﹀彿浣峉(SIGN), 鑻ヨ繍綆楃粨鏋滅殑鏈楂樹(shù)綅緗?, 鍒欒浣嶄篃緗?. 婧㈠嚭鏍囧織O(OVERFLOW), 鑻?甯︾鍙?榪愮畻緇撴灉瓚呭嚭鍙〃紺鴻寖鍥? 鍒欑疆1. JXX 緋誨垪鎸囦護(hù)灝辨槸鏍規(guī)嵁榪欎簺鏍囧織鏉ュ喅瀹氭槸鍚﹁璺寵漿, 浠庤屽疄鐜版潯浠跺垎鏋? 瑕佹敞鎰?寰堝JXX 鎸囦護(hù)鏄瓑浠風(fēng)殑, 瀵瑰簲鐩稿悓鐨勬満鍣ㄧ爜. 渚嬪, JE 鍜孞Z 鏄竴鏍風(fēng)殑,閮芥槸褰揨=1鏄煩杞? 鍙湁JMP 鏄棤鏉′歡璺寵漿. JXX 鎸囦護(hù)鍒嗕負(fù)涓ょ粍, 鍒嗗埆鐢ㄤ簬鏃犵鍙鋒搷浣滃拰甯︾鍙鋒搷浣? JXX 鍚庨潰鐨?XX" 鏈夊涓嬪瓧姣? 鏃犵鍙鋒搷浣? 甯︾鍙鋒搷浣? A = "ABOVE", 琛ㄧず"楂樹(shù)簬" G = "GREATER", 琛ㄧず"澶т簬" B = "BELOW", 琛ㄧず"浣庝簬" L = "LESS", 琛ㄧず"灝忎簬" C = "CARRY", 琛ㄧず"榪涗綅"鎴?鍊熶綅" O = "OVERFLOW", 琛ㄧず"婧㈠嚭" S = "SIGN", 琛ㄧず"璐? 閫氱敤絎﹀彿: E = "EQUAL" 琛ㄧず"絳変簬", 絳変環(huán)浜嶼 (ZERO) N = "NOT" 琛ㄧず"闈?, 鍗蟲(chóng)爣蹇楁病鏈夌疆浣? 濡侸NZ "濡傛灉Z娌℃湁緗綅鍒欒煩杞? Z = "ZERO", 涓嶦鍚? 濡傛灉浠旂粏鎯充竴鎯?灝變細(xì)鍙戠幇 JA = JNBE, JAE = JNB, JBE = JNA, JG = JNLE, JGE= JNL, JL= JNGE, .... <br><span style="COLOR: red"><strong>4. 绔彛 绔彛鏄洿鎺ュ拰澶栭儴璁懼閫氳鐨勫湴鏂廣?/strong></span><br>澶栬鎺ュ叆緋葷粺鍚庯紝緋葷粺灝變細(xì)鎶婂璁劇殑鏁版嵁鎺ュ彛鏄犲皠鍒扮壒瀹氱殑绔彛鍦板潃絀洪棿錛岃繖鏍鳳紝浠庤绔彛璇誨叆鏁版嵁灝辨槸浠庡璁捐鍏ユ暟鎹紝鑰屽悜澶栬鍐欏叆鏁版嵁灝辨槸鍚戠鍙e啓鍏ユ暟鎹傚綋鐒惰繖涓鍒囬兘蹇呴』閬靛驚澶栬鐨勫伐浣滄柟寮忋傜鍙g殑鍦板潃絀洪棿涓庡唴瀛樺湴鍧絀洪棿鏃犲叧錛岀郴緇熸誨叡鎻愪緵瀵?4K涓?浣嶇鍙g殑璁塊棶錛岀紪鍙?-65535. 鐩擱偦鐨?浣嶇鍙e彲浠ョ粍鎴愭垚涓涓?6浣嶇鍙o紝鐩擱偦鐨?6浣嶇鍙e彲浠ョ粍鎴愪竴涓?2浣嶇鍙c傜鍙h緭鍏ヨ緭鍑虹敱鎸囦護(hù)IN,OUT,INS鍜孫UTS瀹炵幇錛屽叿浣撳彲鍙傝冩眹緙栬璦涔︾睄</p> <p><br> </p> <img src ="http://m.shnenglu.com/tdweng/aggbug/118903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/tdweng/" target="_blank">蹇?jī)缇?/a> 2010-06-29 10:24 <a href="http://m.shnenglu.com/tdweng/articles/118903.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.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://cswlts.com" target="_blank">亚洲欧洲在线播放</a>| <a href="http://avsemm.com" target="_blank">**欧美日韩vr在线</a>| <a href="http://qqx123.com" target="_blank">欧美一站二站</a>| <a href="http://xing69.com" target="_blank">久久精品中文字幕一区</a>| <a href="http://baoyou118.com" target="_blank">午夜精品剧场</a>| <a href="http://67idid.com" target="_blank">欧美中文日韩</a>| <a href="http://wzlingfeng.com" target="_blank">久久国产精品99久久久久久老狼 </a>| <a href="http://ww4477.com" target="_blank">免费日韩视频</a>| <a href="http://4080sy.com" target="_blank">欧美激情视频一区二区三区免费</a>| <a href="http://566805.com" target="_blank">欧美成人首页</a>| <a href="http://kakatok.com" target="_blank">99精品欧美一区二区蜜桃免费</a>| <a href="http://www-188445.com" target="_blank">亚洲高清资源</a>| <a href="http://679776.com" target="_blank">99pao成人国产永久免费视频</a>| <a href="http://850cn.com" target="_blank">亚洲永久精品国产</a>| <a href="http://www-116036.com" target="_blank">欧美在线不卡</a>| <a href="http://32666066.com" target="_blank">欧美精品久久久久久</a>| <a href="http://126film.com" target="_blank">欧美影视一区</a>| <a href="http://1616mz.com" target="_blank">免费成人高清</a>| <a href="http://dayomall.com" target="_blank">国产精品日韩欧美一区</a>| <a href="http://www-438686.com" target="_blank">国产亚洲欧美一区二区</a>| <a href="http://wwwcc7777.com" target="_blank">亚洲美女黄色</a>| <a href="http://w3e8.com" target="_blank">久久av老司机精品网站导航</a>| <a href="http://www3344xz.com" target="_blank">欧美国产日韩亚洲一区</a>| <a href="http://5917t.com" target="_blank">亚洲视频一区在线观看</a>| <a href="http://2220004.com" target="_blank">久久精品卡一</a>| <a href="http://609t.com" target="_blank">国产精品国产自产拍高清av王其</a>| <a href="http://44368com.com" target="_blank">国产亚洲精品美女</a>| <a href="http://youjizzbox.com" target="_blank">亚洲三级性片</a>| <a href="http://1332233.com" target="_blank">久久久久久亚洲精品杨幂换脸</a>| <a href="http://7782y.com" target="_blank">亚洲国产精品成人久久综合一区 </a>| <a href="http://v58q.com" target="_blank">久久久综合网站</a>| <a href="http://kanebocos.com" target="_blank">欧美日本高清视频</a>| <a href="http://56x6.com" target="_blank">在线 亚洲欧美在线综合一区</a>| <a href="http://pansinobbs.com" target="_blank">99riav国产精品</a>| <a href="http://862323.com" target="_blank">久热精品视频在线观看一区</a>| <a href="http://0855dyw.com" target="_blank">日韩一级片网址</a>| <a href="http://66gg6.com" target="_blank">久久中文在线</a>| <a href="http://hankanzhan.com" target="_blank">国产亚洲一区在线播放</a>| <a href="http://www-4012345.com" target="_blank">99re视频这里只有精品</a>| <a href="http://o74sokyoss.com" target="_blank">美女脱光内衣内裤视频久久网站</a>| <a href="http://hakuihoso.com" target="_blank">亚洲少妇自拍</a>| <a href="http://173881.com" target="_blank">免费亚洲一区</a>| <a href="http://jqnyc.com" target="_blank">黄色另类av</a>| <a href="http://devmashup.com" target="_blank">午夜激情一区</a>| <a href="http://haochen072.com" target="_blank">亚洲精选成人</a>| <a href="http://lorgou.com" target="_blank">欧美顶级大胆免费视频</a>| <a href="http://www-36900.com" target="_blank">韩日在线一区</a>| <a href="http://520taose.com" target="_blank">久久女同精品一区二区</a>| <a href="http://2225101.com" target="_blank">中文精品99久久国产香蕉</a>| <a href="http://cnc800.com" target="_blank">欧美不卡激情三级在线观看</a>| <a href="http://www7495.com" target="_blank">国产一区二区精品在线观看</a>| <a href="http://wy172.com" target="_blank">亚洲欧美影音先锋</a>| <a href="http://sesese98.com" target="_blank">99国产精品私拍</a>| <a href="http://cabenn.com" target="_blank">欧美刺激性大交免费视频 </a>| <a href="http://shght.com" target="_blank">午夜精品久久久久久久白皮肤</a>| <a href="http://www-119049.com" target="_blank">亚洲电影中文字幕</a>| <a href="http://789583.com" target="_blank">欧美激情一区二区三区蜜桃视频 </a>| <a href="http://www-544778.com" target="_blank">国产酒店精品激情</a>| <a href="http://caoliu2022.com" target="_blank">亚洲一区二区三区777</a>| <a href="http://www-18873.com" target="_blank">免费日韩av片</a>| <a href="http://56lw.com" target="_blank">免费久久99精品国产自</a>| <a href="http://0773ye.com" target="_blank">亚洲成色777777在线观看影院</a>| <a href="http://0999555.com" target="_blank">久久激情视频</a>| <a href="http://jiucao8.com" target="_blank">久久精品视频在线播放</a>| <a href="http://www-222kkk.com" target="_blank">国产免费亚洲高清</a>| <a href="http://tp112.com" target="_blank">欧美怡红院视频</a>| <a href="http://7kz6.com" target="_blank">新狼窝色av性久久久久久</a>| <a href="http://pron12.com" target="_blank">国产精品入口日韩视频大尺度</a>| <a href="http://shenduzhongcao.com" target="_blank">在线视频欧美日韩精品</a>| <a href="http://bauyu121.com" target="_blank">亚洲人成网站色ww在线</a>| <a href="http://caca060.com" target="_blank">欧美午夜不卡在线观看免费 </a>| <a href="http://hczztj.com" target="_blank">午夜在线不卡</a>| <a href="http://www387333.com" target="_blank">午夜精彩视频在线观看不卡 </a>| <a href="http://44o77.com" target="_blank">国产在线观看精品一区二区三区 </a>| <a href="http://305838.com" target="_blank">黑丝一区二区三区</a>| <a href="http://638179.com" target="_blank">久久综合伊人</a>| <a href="http://608u.com" target="_blank">久久久久五月天</a>| <a href="http://7755mm.com" target="_blank">欧美电影电视剧在线观看</a>| <a href="http://bjjxgcsxy.com" target="_blank">蜜桃av噜噜一区</a>| <a href="http://www-88899.com" target="_blank">一二三四社区欧美黄</a>| <a href="http://avtb2120.com" target="_blank">亚洲精品孕妇</a>| <a href="http://www-772773.com" target="_blank">国产日韩在线播放</a>| <a href="http://677968.com" target="_blank">免费在线视频一区</a>| <a href="http://56667r.com" target="_blank">欧美日韩在线看</a>| <a href="http://687989.com" target="_blank">久久riav二区三区</a>| <a href="http://9y1111.com" target="_blank">久久精品男女</a>| <a href="http://uuclassroom.com" target="_blank">亚洲美女视频</a>| <a href="http://www8xvi.com" target="_blank">一区二区不卡在线视频 午夜欧美不卡在 </a>| <a href="http://ffff53.com" target="_blank">香蕉久久夜色精品国产</a>| <a href="http://toomicsvip.com" target="_blank">欧美一区二区三区在线视频</a>| <a href="http://fsxinruiph.com" target="_blank">伊人久久大香线</a>| <a href="http://www-e2222.com" target="_blank">亚洲国产毛片完整版</a>| <a href="http://077229.com" target="_blank">欧美三级特黄</a>| <a href="http://173168.com" target="_blank">久久久久高清</a>| <a href="http://as777as.com" target="_blank">欧美精品粉嫩高潮一区二区</a>| <a href="http://zhipiao998.com" target="_blank">亚洲男女自偷自拍图片另类</a>| <a href="http://55555549.com" target="_blank">亚洲欧美日韩第一区</a>| <a href="http://jinlijun.com" target="_blank">亚洲日本在线视频观看</a>| <a href="http://9511331.com" target="_blank">欧美日韩精品二区第二页</a>| <a href="http://pmref.com" target="_blank">欧美一区二区三区在线免费观看</a>| <a href="http://excellentjy.com" target="_blank">卡一卡二国产精品</a>| <a href="http://7788444.com" target="_blank">亚洲一区在线视频</a>| <a href="http://fangxinedu.com" target="_blank">免费91麻豆精品国产自产在线观看</a>| <a href="http://www-90422.com" target="_blank">99re6这里只有精品</a>| <a href="http://yqr55.com" target="_blank">久久国产精品免费一区</a>| <a href="http://wslsp.com" target="_blank">亚洲一区二区成人</a>| <a href="http://hoppecoke.com" target="_blank">久久欧美中文字幕</a>| <a href="http://8842aa.com" target="_blank">欧美在线视频一区二区三区</a>| <a href="http://qibilly.com" target="_blank">欧美成人午夜免费视在线看片</a>| <a href="http://8880850.com" target="_blank">欧美在线3区</a>| <a href="http://quoviajes.com" target="_blank">欧美成人网在线</a>| <a href="http://xpj493.com" target="_blank">久久青草欧美一区二区三区</a>| <a href="http://sdsptl.com" target="_blank">欧美人妖另类</a>| <a href="http://xingda-sh.com" target="_blank">免费久久99精品国产自</a>| <a href="http://guanghezixun.com" target="_blank">国产精品揄拍500视频</a>| <a href="http://52sougou.com" target="_blank">亚洲国产成人精品视频 </a>| <a href="http://sese912.com" target="_blank">日韩视频二区</a>| <a href="http://cxjzcl.com" target="_blank">久久久久91</a>| <a href="http://yytaotu.com" target="_blank">久久久999精品免费</a>| <a href="http://y66776.com" target="_blank">欧美日韩一区二区三区四区在线观看 </a>| <a href="http://155fck.com" target="_blank">在线观看91精品国产入口</a>| <a href="http://hnautos.com" target="_blank">一区二区三区**美女毛片</a>| <a href="http://wwwgay456.com" target="_blank">一区二区在线观看视频</a>| <a href="http://www22336.com" target="_blank">亚洲深夜福利</a>| <a href="http://770456.com" target="_blank">一区二区三区欧美</a>| <a href="http://ncyy4.com" target="_blank">欧美不卡福利</a>| <a href="http://kdy444.com" target="_blank">亚洲国产第一页</a>| <a href="http://by4433.com" target="_blank">永久免费精品影视网站</a>| <a href="http://wo6wo.com" target="_blank">久久久久久穴</a>| <a href="http://223zzz.com" target="_blank">久久精品一二三区</a>| <a href="http://jorhom.com" target="_blank">欧美久久在线</a>| <a href="http://chuangke168.com" target="_blank">亚洲国产精品久久久久婷婷884 </a>| <a href="http://jldianda.com" target="_blank">日韩一区二区精品</a>| <a href="http://y65c.com" target="_blank">久久精品国产综合精品</a>| <a href="http://zgztby.com" target="_blank">久久99在线观看</a>| <a href="http://mysuteng.com" target="_blank">国产视频一区免费看</a>| <a href="http://04781900.com" target="_blank">亚洲午夜一区</a>| <a href="http://feiniao168.com" target="_blank">亚洲欧美制服另类日韩</a>| <a href="http://3b6f.com" target="_blank">欧美三级欧美一级</a>| <a href="http://sese135.com" target="_blank">亚洲一二三区视频在线观看</a>| <a href="http://hnautos.com" target="_blank">亚洲无毛电影</a>| <a href="http://710191.com" target="_blank">你懂的视频一区二区</a>| <a href="http://xiangshi888.com" target="_blank">免费影视亚洲</a>| <a href="http://www49773.com" target="_blank">亚洲成人影音</a>| <a href="http://6k7a.com" target="_blank">久久婷婷久久</a>| <a href="http://5b6c.com" target="_blank">欧美成年人网站</a>| <a href="http://488f.com" target="_blank">亚洲人体影院</a>| <a href="http://281191.com" target="_blank">欧美~级网站不卡</a>| <a href="http://cbb188.com" target="_blank">裸体丰满少妇做受久久99精品</a>| <a href="http://ll992.com" target="_blank">国产综合一区二区</a>| <a href="http://szjyf668.com" target="_blank">久久九九电影</a>| <a href="http://5858yp.com" target="_blank">免费亚洲网站</a>| <a href="http://114mz.com" target="_blank">亚洲精品欧美一区二区三区</a>| <a href="http://888nei.com" target="_blank">欧美大色视频</a>| <a href="http://www55avav.com" target="_blank">亚洲一区二区在线视频 </a>| <a href="http://www-333410.com" target="_blank">亚洲人被黑人高潮完整版</a>| <a href="http://080177.com" target="_blank">久久野战av</a>| <a href="http://hernameplz.com" target="_blank">免费一级欧美片在线播放</a>| <a href="http://wslsp.com" target="_blank">亚洲高清资源</a>| <a href="http://xjksrbh.com" target="_blank">国产精品黄视频</a>| <a href="http://dsjgqc.com" target="_blank">性色av一区二区三区红粉影视</a>| <a href="http://jsydjxgs.com" target="_blank">久久精品国产2020观看福利</a>| <a href="http://diao66.com" target="_blank">加勒比av一区二区</a>| <a href="http://cp88966.com" target="_blank">欧美激情视频一区二区三区在线播放 </a>| <a href="http://22abb.com" target="_blank">欧美午夜在线</a>| <a href="http://ss2ssc.com" target="_blank">久久成人这里只有精品</a>| <a href="http://sh738.com" target="_blank">欧美成人一区在线</a>| <a href="http://2061826.com" target="_blank">aⅴ色国产欧美</a>| <a href="http://392294.com" target="_blank">欧美午夜精品理论片a级按摩</a>| <a href="http://clwjbcxs.com" target="_blank">午夜精品久久久久久久蜜桃app </a>| <a href="http://155fck.com" target="_blank">久久久噜噜噜久久中文字幕色伊伊</a>| <a href="http://1588vip.com" target="_blank">欧美电影在线观看完整版</a>| <a href="http://uuclassroom.com" target="_blank">亚洲午夜激情网站</a>| <a href="http://w3e8.com" target="_blank">国产一区二区丝袜高跟鞋图片</a>| <a href="http://xxav2121.com" target="_blank">久久亚洲欧美国产精品乐播</a>| <a href="http://jldianda.com" target="_blank">亚洲日本无吗高清不卡</a>| <a href="http://www49853b.com" target="_blank">午夜在线观看免费一区</a>| <a href="http://aaa798.com" target="_blank">亚洲国产精品第一区二区</a>| <a href="http://wwdd44.com" target="_blank">欧美亚州一区二区三区</a>| <a href="http://www151zh.com" target="_blank">香蕉av777xxx色综合一区</a>| <a href="http://bbww55.com" target="_blank">亚洲经典视频在线观看</a>| <a href="http://chaoxibg.com" target="_blank">久久成人一区</a>| <a href="http://sdxinqi.com" target="_blank">亚洲精品日产精品乱码不卡</a>| <a href="http://chinashixin.com" target="_blank">欧美视频你懂的</a>| <a href="http://hh474.com" target="_blank">欧美xxx成人</a>| <a href="http://004ttt.com" target="_blank">欧美一区二区三区成人</a>| <a href="http://770456.com" target="_blank">亚洲精品一二三区</a>| <a href="http://muwendada.com" target="_blank">久久亚洲精选</a>| <a href="http://woniuminsu.com" target="_blank">欧美自拍偷拍午夜视频</a>| <a href="http://xsjj10.com" target="_blank">亚洲精品国产系列</a>| <a href="http://wwww20.com" target="_blank">国产午夜精品一区理论片飘花 </a>| <a href="http://lcqrsj.com" target="_blank">一区二区久久久久</a>| <a href="http://e789a.com" target="_blank">久久久久免费视频</a>| <a href="http://56lin.com" target="_blank">亚洲欧美日韩区</a>| <a href="http://3531888.com" target="_blank">亚洲日本va午夜在线影院</a>| <a href="http://959425.com" target="_blank">国产精品久久久爽爽爽麻豆色哟哟</a>| <a href="http://2589999.com" target="_blank">欧美成人午夜视频</a>| <a href="http://95gun.com" target="_blank">久久精品国亚洲</a>| <a href="http://as777as.com" target="_blank">欧美怡红院视频</a>| <a href="http://5599912.com" target="_blank">一本一本久久a久久精品牛牛影视</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>