绠鏄巟86姹囩紪璇█鏁欑▼(3)
鍙戝竷: 2008-6-26 22:45 | 浣滆: admin | 鏌ョ湅: 6娆
绠鏄巟86姹囩紪璇█鏁欑▼(3)锛2.2 浣跨敤瀵勫瓨鍣
鍦ㄥ墠涓鑺備腑鐨剎86鍩烘湰瀵勫瓨鍣ㄧ殑浠嬬粛锛屽浜庝竴涓眹缂栬瑷缂栫▼浜哄憳鏉ヨ鏄笉鍙垨缂虹殑銆傜幇鍦ㄤ綘鐭ラ亾锛屽瘎瀛樺櫒鏄鐞嗗櫒鍐呴儴鐨勪竴浜涗繚瀛樻暟鎹殑瀛樺偍鍗曞厓銆備粎浠呬簡瑙h繖浜涙槸涓嶈冻浠ュ啓鍑轰竴涓彲鐢ㄧ殑姹囩紪璇█绋嬪簭鐨勶紝浣嗕綘宸茬粡鍙互澶ц嚧璇绘噦涓鑸眹缂栬瑷绋嬪簭浜嗭紙涓嶅繀鎯婅锛屽洜涓烘眹缂栬瑷鐨勭璁扮鍜岃嫳鏂囧崟璇嶉潪甯告帴杩戯級锛屽洜涓轰綘宸茬粡浜嗚В浜嗗叧浜庡熀鏈瘎瀛樺櫒鐨勭粷澶у鏁扮煡璇嗐
鍦ㄦ寮忓紩鍏ョ涓涓眹缂栬瑷绋嬪簭涔嬪墠锛屾垜绮楃暐鍦颁粙缁嶄竴涓嬫眹缂栬瑷涓笉鍚岃繘鍒舵暣鏁扮殑琛ㄧず鏂规硶銆傚鏋滀綘涓嶄簡瑙e崄杩涘埗浠ュ鐨勫叾浠栬繘鍒讹紝璇锋妸榧犳爣绉诲姩鍒 杩欓噷 銆
銆銆姹囩紪璇█涓殑鏁存暟甯搁噺琛ㄧず 鍗佽繘鍒舵暣鏁
杩欐槸姹囩紪鍣ㄩ粯璁ょ殑鏁板埗銆傜洿鎺ョ敤鎴戜滑鐔熸倝鐨勮〃绀烘柟寮忚〃绀哄嵆鍙備緥濡傦紝1234琛ㄧず鍗佽繘鍒剁殑1234銆備笉杩囷紝濡傛灉浣犳寚瀹氫簡浣跨敤鍏朵粬鏁板埗锛屾垨鑰呮湁鍑′簨閮借繘琛屽畬鏁村畾涔夌殑灏忕埍濂斤紝涔熷彲浠ュ啓鎴怺鍗佽繘鍒舵暟]d鎴朳鍗佽繘鍒舵暟]D鐨勫舰寮忋 鍗佸叚杩涘埗鏁
杩欐槸姹囩紪绋嬪簭涓渶甯哥敤鐨勬暟鍒讹紝鎴戜釜浜烘瘮杈冨亸鐖变娇鐢ㄥ崄鍏繘鍒惰〃绀烘暟鎹紝鑷充簬涓轰粈涔堬紝浠ュ悗鎴戜細浣滆鏄庛傚崄鍏繘鍒舵暟琛ㄧず涓0[鍗佸叚杩涘埗鏁癩h鎴0[鍗佸叚杩涘埗鏁癩H锛屽叾涓紝濡傛灉鍗佸叚杩涘埗鏁扮殑绗竴浣嶆槸鏁板瓧锛屽垯寮澶寸殑0鍙互鐪佺暐銆備緥濡傦紝7fffh, 0ffffh锛岀瓑绛夈 浜岃繘鍒舵暟
杩欎篃鏄竴绉嶅父鐢ㄧ殑鏁板埗銆備簩杩涘埗鏁拌〃绀轰负[浜岃繘鍒舵暟]b鎴朳浜岃繘鍒舵暟]B銆備竴鑸▼搴忎腑鐢ㄤ簩杩涘埗鏁拌〃绀烘帺鐮侊紙mask code锛夌瓑鏁版嵁闈炲父鐨勭洿瑙傦紝浣嗛渶瑕佷簺寰堥暱鐨勬暟鎹紙4浣嶄簩杩涘埗鏁扮浉褰撲簬涓浣嶅崄鍏繘鍒舵暟锛夈備緥濡傦紝1010110b銆 鍏繘鍒舵暟
鍏繘鍒舵暟鐜板湪宸茬粡涓嶆槸寰堝父鐢ㄤ簡锛堢‘瀹炶繕鍦ㄧ敤锛屼竴涓吀鍨嬬殑渚嬪瓙鏄疷nix鐨勬枃浠跺睘鎬э級銆傚叓杩涘埗鏁扮殑褰㈠紡鏄痆鍏繘鍒舵暟]q銆乕鍏繘鍒舵暟]Q銆乕鍏繘鍒舵暟]o銆乕鍏繘鍒舵暟]O銆備緥濡傦紝777Q銆
闇瑕佽鏄庣殑鏄紝杩欎簺鏂规硶鏄拡瀵瑰畯姹囩紪鍣紙渚嬪锛孧ASM銆乀ASM銆丯ASM锛夎鐨勶紝璋冭瘯鍣ㄩ粯璁や娇鐢ㄥ崄鍏繘鍒惰〃绀烘暣鏁帮紝骞朵笖涓嶉渶瑕佺壒鍒殑澹版槑锛堜緥濡傦紝鍦ㄨ皟璇曞櫒涓洿鎺ョ敤FFFF琛ㄧず鍗佽繘鍒剁殑65535锛岀敤10琛ㄧず鍗佽繘鍒剁殑16锛夈
鐜板湪鎴戜滑鏉ュ啓涓灏忔姹囩紪绋嬪簭锛屼慨鏀笶AX銆丒BX銆丒CX銆丒DX鐨勬暟鍊笺
鎴戜滑鍋囧畾绋嬪簭鎵ц涔嬪墠锛屽瘎瀛樺櫒涓殑鏁板兼槸鍏0锛 ? X H L EAX 0000 00 00 EBX 0000 00 00 ECX 0000 00 00 EDX 0000 00 00
姝e鍓嶉潰鎻愬埌鐨勶紝EAX鐨勯珮16bit鏄病鏈夊姙娉曠洿鎺ヨ闂殑锛岃孉X瀵瑰簲瀹冪殑浣16bit锛孉H銆丄L鍒嗗埆瀵瑰簲AX鐨勯珮銆佷綆8bit銆 mov eax, 012345678h
mov ebx, 0abcdeffeh
mov ecx, 1
mov edx, 2 ; 灏012345678h閫佸叆eax
; 灏0abcdeffeh閫佸叆ebx
; 灏000000001h閫佸叆ecx
; 灏000000002h閫佸叆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
鍒欏瘎瀛樺櫒鍐呭鍙樹负锛 ? X H L EAX abcd ef fe EBX abcd ef fe ECX 0000 00 02 EDX 0000 00 02
鎴戜滑鍙互鐪嬪埌锛屸渕ove鈥濅箣鍚庯紝鏁版嵁渚濈劧淇濆瓨鍦ㄥ師鏉ョ殑瀵勫瓨鍣ㄤ腑銆備笉濡ㄦ妸mov鎸囦护鐞嗚В涓衡滈佸叆鈥濓紝鎴栤滆鍏モ濄
缁冧範棰
鎶婂瘎瀛樺櫒鎭㈠鎴愰兘涓哄叏0鐨勭姸鎬侊紝鐒跺悗鎵ц涓嬮潰鐨勪唬鐮侊細 mov eax, 0a1234h
mov bx, ax
mov ah, bl
mov al, bh ; 灏0a1234h閫佸叆eax
; 灏哸x鐨勫唴瀹归佸叆bx
; 灏哹l鍐呭閫佸叆ah
; 灏哹h鍐呭閫佸叆al
鎬濊冿細姝ゆ椂锛孍AX鐨勫唴瀹瑰皢鏄灏戯紵[ 绛旀 ]
涓嬮潰鎴戜滑灏嗕粙缁嶄竴浜涙寚浠ゃ傚湪浠嬬粛鎸囦护涔嬪墠锛屾垜浠害瀹氾細
銆銆 浣跨敤Intel鏂囨。涓殑瀵勫瓨鍣ㄨ〃绀烘柟寮 reg32 32-bit瀵勫瓨鍣紙琛ㄧずEAX銆丒BX绛夛級 reg16 16-bit瀵勫瓨鍣紙鍦32浣嶅鐞嗗櫒涓紝杩橝X銆丅X绛夛級 reg8 8-bit瀵勫瓨鍣紙琛ㄧずAL銆丅H绛夛級 imm32 32-bit绔嬪嵆鏁帮紙鍙互鐞嗚В涓哄父鏁帮級 imm16 16-bit绔嬪嵆鏁 imm8 8-bit绔嬪嵆鏁
鍦ㄥ瘎瀛樺櫒涓浇鍏ュ彟涓瀵勫瓨鍣紝鎴栫珛鍗虫暟鐨勫硷細
mov reg32, (reg32 | imm8 | imm16 | imm32)
mov reg32, (reg16 | imm8 | imm16)
mov reg8, (reg8 | imm8)
渚嬪锛宮ov eax, 010h琛ㄧず锛屽湪eax涓浇鍏00000010h銆傞渶瑕佹敞鎰忕殑鏄紝濡傛灉浣犲笇鏈涘湪瀵勫瓨鍣ㄤ腑瑁呭叆0锛屽垯鏈変竴绉嶆洿蹇殑鏂规硶锛屽湪鍚庨潰鎴戜滑灏嗘彁鍒般
浜ゆ崲瀵勫瓨鍣ㄧ殑鍐呭锛 xchg reg32, reg32
xchg reg16, reg16
xchg reg8, reg8




发表于 2009-1-5 19:48
| 











