²é¿´: 687  |  »Ø¸´: 3
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

kiyeer

Ìú³æ (³õÈëÎÄ̳)

[½»Á÷] »ã±àÖ¸ÁîÓë»úÆ÷ÂëµÄÏ໥ת»»

»ã±àÖ¸ÁîÓë»úÆ÷ÂëµÄÏ໥ת»»


»úÆ÷ÓïÑÔÎÒÃÇÖ»ÒªÖØµãÀí½âһϼ¸¸ö¸ÅÄ

1. »úÆ÷ÓïÑÔÖ¸ÁîÓвÙ×÷Âë(OP)ºÍµØÖ·ÂëÁ½²¿·Ö×é³É

|_____________OP_______________|__d__|__w__|
|_____________OP_______________|__s__|__w__| <--´Ë¸ñʽÓÃÓÚÁ¢¼´Ñ°Ö··½Ê½
ÔÚ¶àÊý²Ù×÷ÂëÖУ¬³£Ê¹ÓÃijЩλÀ´Ö¸Ê¾Ä³Ð©ÐÅÏ¢£º
ÈçͼÉϽṹÀïµÄ£º w£½1 ʱ ¶Ô×ÖÀ´²Ù×÷
w£½0 ʱ ¶Ô×Ö½ÚÀ´²Ù×÷
dÖµÔÚË«²Ù×÷ÊýÖ¸ÁîÖвÅÓÐЧ
µ± d£½1 ʱ ÓÐÇÒÖ»ÓÐÒ»¸ö¼Ä´æÆ÷ÓÃÓÚÄ¿µÄ²Ù×÷Êý
d£½0 ʱ ÓÐÇÒÖ»ÓÐÒ»¸ö¼Ä´æÆ÷ÓÃÓÚÔ´²Ù×÷Êý
s£½1 ʱ Á¢¼´ÊýΪ8룬µ«ÒªÇóÀ©Õ¹³É16λÊý
s£½0 ʱ µ±Ö¸Áî×÷×Ö½Ú²Ù×÷/ÓÐ16λÁ¢¼´Êý
ÓÉÓÚ»ã±àµÄÖ¸Áî¸ñʽºÜ¶à£¬ÕâÀïÎÒÖ»×÷һЩ»ù±¾Çé¿ö½éÉÜ£¬±ØÒªÊ±¶ÁÕß¿ÉÒÔÏÂÔØ/²éÔÄ80x86»ã±àСվhttp://www.x86asm.comÌṩµÄOPCODESÊÖ²áÀ´²éÔÄ¡£
2. Ѱַ·½Ê½µÄ»úÆ÷ÓïÑÔ±íʾ£º
| mod | reg | r/m |
|_____|_____|_____|_____|_____|_____|_____|
reg ±íʾ¼Ä´æÆ÷·½Ê½£¬ÔÚ²»°üÀ¨Á¢¼´ÊýµÄË«²Ù×÷ÊýÖ¸ÁîµÄÇé¿öÏ£¬¹æ¶¨±ØÐëÓÐÒ»¸ö²Ù×÷ÊýÔڼĴæÆ÷ÖУ¬¸Ã¼Ä´æÆ÷ÓÉreg×Ö¶ÎÖ¸¶¨£¬²¢Óë²Ù×÷Âë×Ö½ÚÖеÄwλÏà×éºÏÈ·¶¨µÄ¼Ä´æÆ÷
mod×Ö¶ÎÓër/m(register/memory)×ֶνáºÏÔÚÒ»ÆðÈ·¶¨ÁíÒ»¸ö²Ù×÷ÊýµÄѰַ·½Ê½ÏÖÔÚÄãÃÇÏÂÔØÁË80x86»ã±àСվ(http://www.x86asm.com)ÌṩµÄOPCODES ÊÖ²áÁËÂð£¿
ÏÂÔØºÃÁË£¬Çë½âѹºó´ò¿ªÀïÃæµÄ£ºopcodes.html Îļþ£¬È»ºóÊìϤÀïÃæµÄ±í¸ñ£º

ÏÖÔÚÊìϤ¼òµ¥µÄ£º
______________________________________________________________________________
±í1 rrr : W=0 : W=1 : reg32
000 : AL : AX : EAX
001 : CL : CX : ECX
010 : DL : DX : EDX
011 : BL : BX : EBX
100 : AH : SP : ESP
101 : CH : BP : EBP
110 : DH : SI : ESI
111 : BH : DI : EDI
______________________________________________________________________________
±í2 rrr : Index Register
000 : EAX
001 : ECX
010 : EDX
011 : EBX
100 : No Index
101 : EBP
110 : ESI
111 : EDI
______________________________________________________________________________
±í3 mmm : Function 11
w£½1
000 : DS:[BX+SI]
001 : DS:[BX+DI]
010 : SS:[BP+SI]
011 : SS:[BP+DI] BX
100 : DS:[SI]
101 : DS:[DI]
110 : SS:[BP]
111 : DS:[BX]
______________________________________________________________________________
±í4
oo : Function
00 : If mmm = 110, then a displacement follows the operation; otherwise, no displacement is used
01 : An 8-bit signed displacement follows the opcode
10 : A 16-bit signed displacement follows the opcode
11 : mmm specifies a register, instead of an addressing mode
______________________________________________________________________________
ÉÏÃæµÄ±í£¬Äã¶¼¿´Ã÷°×ÁËÂ𣿠ÏÖÔÚÎҾͽÌÄãÃÇÈçºÎÀûÓÃÕâÑùµÄ±í¸ñÀ´°Ñ»ã±àÖ¸Áî·­Òë»úÆ÷Âë
3.Ö¸Áî¸ñʽ¼ò½é
8086ËùÓõÄ16λָÁî¸ñʽ£º
________ _____________ ________ ________
|²Ù×÷Âë| + |mod-reg-r/m| + |Î»ÒÆÁ¿| + |Á¢¼´Êý|
1~2×Ö½Ú 0~1×Ö½Ú 0~2×Ö½Ú 0~2×Ö½Ú
OK!ÒÔÉϾÍÊÇ»ù±¾ÖªÊ¶£¬ÏÂÃæÎÒÃÇÀ´Êµ¼ù°É£º
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
ÎÊÌ⣺
MOV AX,1234H ¶ÔÓ¦µÄ»úÆ÷ÂëΪ£ºB83412
MOV EBX,0 ¶ÔÓ¦µÄ»úÆ÷ÂëΪ£º66BB00000000
MOV CL,55H ¶ÔÓ¦µÄ»úÆ÷ÂëΪ: B155

MOV AX,BX ¶ÔÓ¦µÄ»úÆ÷ÂëΪ£º8BC3
ÎÒÔÚÎÊһϣ¬»úÆ÷ÂëµÄÊý¾Ý¸ñʽÊÇʲô£¿ ºÃÏñÊÇ »úÆ÷Ö¸Áî+²Ù×÷Êý(¸ßλ´æ·ÅÔÚµØÖ·¸ß룬µÍλ´æ·ÅÔÚµØÖ·µÍλ)£¬µ«ÊÇÇ°ÃæMOV AX,Ôõô¾Í±ä³ÉÁËB8,Ū²»Ã÷°×£¬ÇëÖ¸½Ì¡£
PS: ÉÏÃæµÄÌâÄ¿ÊÇÒ»¸öÍøÓÑÎʵģ¬ÏÖÔÚÎÒÀ´Êµ¼ùÒ»±é¸øÄãÃÇ¿´¡£
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
Ö¸Áî1 £­> MOV AX,1234H ¶ÔÓ¦µÄ»úÆ÷ÂëΪ£ºB83412
½â·¨£º Åжϣ­> Õâ¸öÊÇ8086»ã±à16λ»ã±àÖ¸Áî¸ñʽ£¬²¢ÇÒÊÇÁ¢¼´Ñ°Ö··½Ê½
²é±í£­> ´ò¿ªopcodes.htmlÎļþ£¬ÕÒµ½±êÌâΪ¡°Main Instructions¡±£¬µ¥»÷¡°M¡±×Öĸ£¬È»ºó¶ÔÓ¦²é¿´ ¡°MOV Reg,Imm¡±¸ñʽµÄ¡°OpCode¡±ÏîΪ£º1011wrrr
ÔÙÅжϣ­> ÓÉÓڼĴæÆ÷ÊÇAX, Á¢¼´ÊýÊÇ1234H£¬Ã÷ÏÔÊÇ¡°¶Ô×Ö²Ù×÷¡±£¬ËùÒÔw£½1
Ôڲ鿴±¾ÎÄÕÂÉÏÃæµÄ¡°±í1¡±£¬¶ÔÓ¦µÄ²éµ½rrrµÄֵΪ000
×éºÏ½á¹û£­> w£½1
rrr£½000
1011wrrr£½1011 1000B £­>B8H
¸ù¾Ý¡° 3.Ö¸Áî¸ñʽ¼ò½é¡± £­> B8H + |Á¢¼´Êý(µÍλÔÚǰ¸ßλÔÚºó)|£½ B83412H
PS: "+" ·ûºÅ²»Îª¡°¼ÓºÅ¡±
ºÃÁË£¬ÒѾ­½âÍêµÚÒ»ÌâÁË£¬»úÆ÷ÂëΪ B83412H
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
Ö¸Áî4 £­> MOV AX,BX ¶ÔÓ¦µÄ»úÆ÷ÂëΪ£º8BC3
½â·¨£º Åжϣ­> Õâ¸öÊÇ8086»ã±à16λ»ã±àÖ¸Áî¸ñʽ£¬²¢ÇÒÊǼĴæÆ÷Ѱַ·½Ê½
²é±í£­> ´ò¿ªopcodes.htmlÎļþ£¬ÕÒµ½±êÌâΪ¡°Main Instructions¡±£¬µ¥»÷¡°M
¡±×Öĸ£¬È»ºó¶ÔÓ¦²é¿´ ¡°MOV Reg,Reg¡±¸ñʽµÄ¡°OpCode¡±ÏîΪ£º1000101woorrrmmm
ÔÙÅжϣ­> ÓÉÓڼĴæÆ÷ÊÇAX, BX Ã÷ÏÔÊÇ¡°¶Ô×Ö²Ù×÷¡±£¬ËùÒÔw£½1
Ôڲ鿴±¾ÎÄÕÂÉÏÃæµÄ¡°±í4¡±£¬¶ÔÓ¦²éµ½oo£½11 ÒòΪÊǼĴæÆ÷Ѱַ·½Ê½
Ôڲ鿴±¾ÎÄÕÂÉÏÃæµÄ¡°±í1¡±£¬¶ÔÓ¦²éµ½rrrµÄֵΪ000 £¬ÒòΪµ±Á½¸ö²Ù
×÷Êý¶¼ÊǼĴæÆ÷£¬ÄÇôһ°ãÒªÒÔÄ¿µÄ²Ù×÷ÊýΪ׼
Ôڲ鿴±¾ÎÄÕÂÉÏÃæµÄ¡°±í3¡±, ¶ÔÓ¦²éµ½mmmµÄֵΪ011 £¬ÒòΪµ±Á½¸ö²Ù×÷Êý¶¼ÊǼĴæÆ÷£¬ÄÇôһ°ãÒªÒÔÔ´²Ù×÷ÊýΪ׼
×éºÏ½á¹û£­> w£½1
oo£½11
rrr£½000
mmm£½011
1000101woorrrmmm£½1000 1011 1100 0011B ->8BC3H
ºÃÁË£¬ÒѾ­½âÍêµÚ¶þÌâÁË£¬»úÆ÷ÂëΪ8BC3H
¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª
ºÇºÇ£¬²»´í°É£¬ºÜ¼òµ¥°É£¬ÓÐÁË80X86 OPCODES ²éѯ±íÒ»Çж¼ÊÇÄÇô¼òµ¥£¬Èç¹û»¹ÓÐʲôÎÊÌ⣬´ó¼Ò¶¼À´ÕâÀïÌáÎÊ£¡
ʣϵģº
Ö¸Áî2 £­> MOV EBX,0 ¶ÔÓ¦µÄ»úÆ÷ÂëΪ£º66BB00000000
Ö¸Áî3 £­> MOV CL,55H ¶ÔÓ¦µÄ»úÆ÷ÂëΪ: B155
´ó¼ÒÀ´Á·Á·ÊÖ£¬×¢ÒâÖ¸Áî2 ÐèÒªÓõ½32λָÁî¸ñʽ£¬Çë²éÔÄÏà¹ØµÄ80x86»ã±àÓïÑÔÊé¼®µÄ»úÆ÷ÓïÑÔ²¿·Ö£¬Ó¦¸ÃÓнâÊ͵ġ£
Ö¸Áî2µÄ½â·¨£¬Çë´ó¼ÒµÈ´ý£¬»òÕß´ó¼ÒÑо¿Ò»Ï£¬°Ñ½â·¨Ìù³öÀ´£¬¸ø´ó¼Ò²Î¿¼Å¶£¡

[ Last edited by »ÃÓ°ÎÞºÛ on 2006-11-7 at 07:45 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sbttmxk

½ð³æ (ÖøÃûдÊÖ)

1

ÐÁ¿àÁË
Do one thing, do it well. http://www.nanost.net/bbs/index.php
2Â¥2006-02-26 11:12:05
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wss71

гæ (ÕýʽдÊÖ)

3Â¥2006-02-26 22:59:55
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

flybooter

1

ѧϰÖÐ
4Â¥2006-02-27 16:08:00
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ kiyeer µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 299Çóµ÷¼Á +7 ijijijijλ 2026-03-21 7/350 2026-03-24 15:24 by cuifj
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á£¬Çóµ¼Ê¦ÊÕ +4 ÌìÌìºÃÔËÀ´Éϰ¶° 2026-03-24 4/200 2026-03-24 15:23 by cuifj
[¿¼ÑÐ] Çóµ÷¼Á +5 ÑÐÑУ¬½Óµç»° 2026-03-24 6/300 2026-03-24 11:39 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] Çóµ÷¼Á +7 Ê®Èý¼ÓÓÍ 2026-03-21 7/350 2026-03-23 23:48 by ÈÈÇéɳĮ
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖØÇì´óѧ085700×ÊÔ´Óë»·¾³£¬×Ü·Ö308Çóµ÷¼Á +7 īīĮ 2026-03-23 8/400 2026-03-23 20:36 by Creta
[¿¼ÑÐ] 328Çóµ÷¼Á£¬Ó¢ÓïÁù¼¶551£¬ÓпÆÑо­Àú +7 ÉúÎ﹤³Ìµ÷¼Á 2026-03-17 12/600 2026-03-23 18:18 by YMUÊ©ÀÏʦ
[¿¼ÑÐ] Ò»Ö¾Ô¸070300Õã´ó»¯Ñ§358·Ö£¬Çóµ÷¼Á£¡ +4 ËÖËÖÓã.. 2026-03-21 4/200 2026-03-23 08:12 by Iveryant
[¿¼ÑÐ] 280·ÖÇóµ÷¼Á Ò»Ö¾Ô¸085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] ÉúÎïѧ071000 329·ÖÇóµ÷¼Á +5 ÎÒ°®ÉúÎïÉúÎﰮΠ2026-03-17 5/250 2026-03-22 16:42 by tcx007
[»ù½ðÉêÇë] ɽ¶«Ê¡ÃæÉÏÏîÄ¿ÏÞ¶îÆÀÉó +4 ʯÈð0426 2026-03-19 4/200 2026-03-22 08:50 by Wei_ren
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖпƼ¼´óѧ071000£¬Çóµ÷¼Á +4 ÑØ°¶Óб´¿Ç6 2026-03-21 4/200 2026-03-22 07:21 by ilovexiaobin
[¿¼ÑÐ] 286Çóµ÷¼Á +10 Faune 2026-03-21 10/500 2026-03-21 23:34 by 314126402
[¿¼ÑÐ] »¯Ñ§µ÷¼Á +5 yzysaa 2026-03-21 5/250 2026-03-21 22:12 by peike
[¿¼ÑÐ] 307Çóµ÷¼Á +3 ÓàÒâÇä 2026-03-18 3/150 2026-03-21 17:31 by ColorlessPI
[¿¼ÑÐ] 332Çóµ÷¼Á +3 ·ï»ËÔº¶¡Õæ 2026-03-20 3/150 2026-03-21 10:27 by luoyongfeng
[¿¼ÑÐ] Çóµ÷¼Á +3 Ma_xt 2026-03-17 3/150 2026-03-21 02:05 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸Î÷ÄϽ»´ó£¬Çóµ÷¼Á +5 ²Ä»¯ÖðÃÎÈË 2026-03-18 5/250 2026-03-21 00:26 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸ Î÷±±´óѧ £¬070300»¯Ñ§Ñ§Ë¶£¬×Ü·Ö287£¬Ë«·ÇÒ»±¾£¬Çóµ÷¼Á¡£ +4 ³¿»èÏßÓëÐǺ£ 2026-03-19 4/200 2026-03-20 22:15 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸ËÕÖÝ´óѧ²ÄÁÏÇóµ÷¼Á£¬×Ü·Ö315£¨Ó¢Ò»£© +5 sbdksD 2026-03-19 5/250 2026-03-20 22:10 by luoyongfeng
[¿¼ÑÐ] ÖÐÄÏ´óѧ»¯Ñ§Ñ§Ë¶337Çóµ÷¼Á +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û