ʵÑéÒ» »ù±¾³ÌÐò±à³ÌºÍ³ÌÐòµ÷ÊÔ
Ò»¡¢ ʵÑéÄ¿µÄ
1¡¢ ÕÆÎÕÊýÂëת»»µÈ»ù±¾³ÌÐòÉè¼ÆµÄ¼¼Çɺͷ½·¨¡£ 2¡¢ ÊìϤDEBUGÃüÁî¡£
3¡¢ ѧ»áºÍÕÆÎÕÓÃDEBUGµ÷ÊÔ³ÌÐòµÄ·½·¨¡£
¶þ¡¢ ʵÑéÉ豸
PC»úһ̨£¬×°ÓÐDOS»ù±¾ÏµÍ³
Èý¡¢ ʵÑéÄÚÈݼ°²½Öè
ÓÃDEBUG½¨Á¢¡¢»ã±àºÍÔËÐе÷ÊÔ³ÌÐòµÄ²Ù×÷¡£DEBUGÊÇDOSϵͳ֧³ÖµÄÓÃÓÚ»ã±àÓïÑÔÔ´³ÌÐòµ÷ÊÔµÄϵͳÈí¼þ¡£Ëü¹²ÓÐ19ÌõÃüÁîÍê³ÉÏàÓ¦µÄ¹¦ÄÜ£¬ÃüÁî¼°Æä¸ñʽ¿É²ÎÔĸ½Â¼Ò»¡£
£¨Ò»£© DEBUG²Ù×÷Á·Ï°
1£©ÊµÑéµ÷ÊÔ³ÌÐò
³ÌÐòµÄ¹¦ÄÜÊÇ´Ó3500HÄÚ´æµ¥Ôª¿ªÊ¼½¨Á¢0-15¹²16¸öÊý¾Ý¡£³ÌÐòÈçÏ£º µØÖ· £¨H£© »úÆ÷Â루H£© Öú¼Ç·û 2000 BF0035 MOV DI£¬ 3500 2003 B91000 MOV CX£¬ 0010 2006 B80000 MOV AX£¬ 0000 2009 9E SAHF 200A 8805 MOV BYTE[DI]£¬AL 200C 47 INC DI 200D 40 INC AX 200E 27 DAA 200F E2F9 LOOP 200A 2011 F4 HLT
2£©ÊµÑé²½Ö裺 £¨1£©ÊäÈëÓëÐÞ¸Ä
¢Ù Æô¶¯DOS£¬ÔÚDOSÌáʾ·ûÏÂÊäÈëD E B U Gºó»Ø³µ£¬ÆÁÄ»Á¢¼´ÏÔʾDEBUGÌáʾ·û¡°¡ª¡±£¬±íÃ÷ÒѽøÈëDEBUG״̬£¬¿ÉÒÔÖ´ÐÐDEBUGµÄ¸÷ÖÖÃüÁî¡£
¢Ú ÓÃDEBUGÖеĻã±àÃüÁî ¡°A µØÖ·¡±½«³ÌÐò½¨Á¢ÔÚÄÚ´æµ¥ÔªÖС£ ÔÚÌáʾ·û¡°¡ª¡±Ï¼üÈë £º
1
¡°A 2000 ?¡± ´ËʱÏÔʾÆ÷ÉϽ«»áÏÔʾ³ÌÐòµÄ¶ÎµØÖ·CSºÍÆ«ÒÆµØÖ·IP£¬Äã¾Í¿ÉÒÔÊäÈëÒÔÉϵijÌÐòÁË¡£¼´
ÏÔʾ 169C £º2000 ¼üÈë MOV DI£¬ 3500
169C£º 2003 MOV CX£¬ 0010
169C£º 2011 HLT
£º £º £º
¢Û Ó÷´»ã±àÃüÁî ¡°U µØÖ·¡±¼ì²é³ÌÐò ÔÚÌáʾ·û¡°¡ª¡±Ï£¬¼üÈë ¡°U 2000?¡±£¬½«´Ó2000ÄÚ´æµ¥Ôª¿ªÊ¼µÄÄÚÈÝ·´»ã±à£¬ÆÁÄ»ÉÏÏÔʾ 169C£º2000 BF0035 MOV DI£¬ 3500 169C£º2003 B91000 MOV CX£¬ 0010 169C£º2006 B8000 MOV AX£¬ 0000 £º £º £º £º £º £º 169C£º2011 F4 HLT
µ±·¢ÏÖ³ÌÐòÓдíʱ£¬¿ÉÓûã±àÃüÁî¡°A µØÖ·¡±½øÐÐÐ޸ģ¬ÈçÒªÐÞ¸Ä200Aµ¥ÔªÖеÄÖ¸Á Ôò¼üÈë ¡°A 200A?¡± £¬ÆÁÄ»ÏÔʾ 169C£º200A £¬È»ºóÔÙ¼üÈëMOV BYTE[DI]£¬ AL?£¬¾Í°Ñ´íÎóµÄ³ÌÐò¸ÄÕýÁË¡£
£¨2£©ÏÔʾºÍÐÞ¸ÄÊý¾Ý
¢ÙÓÃÐÞ¸ÄÄÚ´æµ¥ÔªÃüÁî ¡°E µØÖ·¡± ÔÚÖ¸¶¨ÄÚ´æµ¥ÔªÖдæÈëÒ»¸öÊý¡£
ÈçÒªÔÚ3500ΪÊ×Ö·µÄµ¥ÔªÖдæÈë14HºÍ25HÁ½¸öÊý¾Ý£¬¿ÉÔÚÌáʾ·û¡°¡ª¡±Ï£¬¼üÈ룺¡° 3500?¡± ÏÔʾ 169C£º3500 ¡Á¡Á£® ¼üÈë14£¬°´¿Õ¸ñ¼ü ¡Á¡Á£® 25£¬°´¿Õ¸ñ¼ü
¢ÚÓÃÏÔʾÄÚ´æÃüÁî ¡°D µØÖ·¡± ¼ì²éÖ¸¶¨µ¥ÔªµÄÄÚÈÝ ÔÚÌáʾ·û¡°¡ª¡±Ï£¬¼üÈë ¡°D3500?¡±
ÏÔʾ 1489£º3500 14 25 48 02 ???? 1489£º3510 ** ** ** ** ???? £º £º £º £º
1489£º3570 ** ** ** ** ????
Èôijµ¥ÔªÄÚÈÝÓдíÔò¿ÉÓÃÃüÁ ¡°E µØÖ· ¡±½øÐÐÐÞÕý¡£
¢ÛÓÃÏÔʾºÍÐÞ¸ÄÃüÁî ¡°R ¡±»ò¡°R ¼Ä´æÆ÷Ãû¡±ÏÔʾ¼Ä´æÆ÷»òÐÞ¸ÄÆäÄÚÈÝ ÔÚÌáʾ·û¡°¡ª¡±Ï£¬¼üÈë ¡°R?¡±
ÏÔʾ AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE????????
2
DS=169C ES=169C SS=169C CS=169C IP=2000????????? ÒªÐÞ¸ÄIPµÄÄÚÈÝʱ£¬¼üÈëÃüÁî ¡°R IP¡±ºó£¬ ÏÔʾ IP 2000£¬ÔÚ2000Ö®ºó¼üÈëÐÂÄÚÈÝ¡£ £¨3£©³ÌÐòÔËÐÐ
³ÌÐòµÄÔËÐз½Ê½Óе¥²½ÔËÐС¢¶ÏµãÔËÐкÍÁ¬ÐøÔËÐм¸ÖÖ·½Ê½¡£
¢Ùµ¥²½ÔËÐÐ
ÊäÈëDEBUG¸ú×ÙÃüÁî¡°T¡±»ò¡°T=µØÖ·¡±»ò¡°T=µØÖ· Ö¸¶¨´ÎÊý¡±£¬¿É´ÓÖ¸¶¨µØÖ·´¦ÔËÐиõ¥ÔªÖеÄÒ»ÌõÖ¸ÁÒÔºóÖ»ÒªÁ¬ÐøÊäÈë¡°T¡±ÃüÁî¾ÍÄÜÁ¬ÐøÖ´ÐÐÒ»ÌõÒ»ÌõÖ¸Áî¡£ ÈçÔÚÌáʾ·û¡°¡ª¡±Ï£¬¼üÈë ¡°T=2000 ?¡± ÏÔʾ £º
AX=0000 BX=0000 CX=001D DX-0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=169C ES=169C SS=169C CS=169C IP=2000 NV??? 169C£º2003 B91000 MOV CX£¬ 0010
¢Ú¶ÏµãÔËÐÐ
ÓÃÔËÐÐÃüÁî ¡°G=µØÖ· µØÖ·¶Ïµã µØÖ·¶Ïµã?¡±Ö´ÐÐÖ¸¶¨µØÖ·µÄ³ÌÐò ÔÚÌáʾ·û¡°¡ª¡±Ï£¬¼üÈë ¡°G=2000 2011 ?¡±
ÏÔʾ 169C£º2011 F4 HLT ±íʾÕâ¶Î³ÌÐòÒѾִÐÐÍê±Ï¡£
¢ÛÁ¬ÐøÔËÐÐ
ÊäÈëDEBUGÃüÁî¡°G=µØÖ·¡±£¬Ö´ÐÐÖ¸¶¨µØÖ·µÄ³ÌÐò £¨4£©ÓÃÏÔʾÄÚ´æÃüÁî¼ì²éÔËÐнá¹û
ÔÚÌáʾ·û¡°¡ª¡±Ï£¬¼üÈëÃüÁî ¡°D µØÖ·?¡±£¬¸ù¾ÝÆäÖеÄÄÚÈÝÅжϳÌÐòÔËÐÐÊÇ·ñÕýÈ·¡£
Èç¼ì²éÒÔÉϳÌÐòÖ´ÐкóµÄ½á¹û£¬ÔÚÌáʾ·û¡°¡ª¡±Ï£¬¼üÈë¡° D 3500?¡±£¬¿ÉÏÔʾ 169C£º3500 00 01 02 03 04 ?? 15 169C£º3510
£¨¶þ£©ÊýÂëת»»³ÌÐò¼°Æäµ÷ÊÔ
1¡¢ ½«ASCIIÂë±íʾµÄÊ®½øÖÆÊýת»»Îª¶þ½øÖÆÊý
1£©³ÌÐòÉè¼ÆµÄËã·¨¼°Æä³ÌÐò Ê®½øÖÆÊý¾Ý¿É±íʾΪ£º
Dn????Dn?????nn?????D??????Di???i?i??n(?)DI´ú±íÊ®½øÖÆÊý1£¬2£¬3£¬?9£¬0 ÉÏʽ¿Éת»»Îª£º
?D???ii??ni?((?£¨Dn????Dn??)???)?Dn??)??????D?)????D?(?) ÓÉʽ£¨2£©¿É¹éÄÉÊ®½øÖÆÊýת»»Îª¶þ½øÖÆÊýµÄ·½·¨£º´ÓÊ®½øÖƵÄ×î¸ßλDn¿ªÊ¼³Ë10¼Ó´ÎλµÄ²Ù
3
×÷£¬½«½á¹ûÔÙ³Ë10ÔÙ¼ÓÏÂÒ»´Î룬Èç´ËÖØ¸´£¬Ôò¿ÉÇó³ö¶þ½øÖÆÊý½á¹ûÀ´¡£³ÌÐòÁ÷³Ì¼°²Î¿¼³ÌÐòÈçͼ1-1¡£ÕâÀïÎÒÃǹ涨£º±»×ª»»µÄASCIIÂëÊ®½øÖÆÊý´æ·ÅÔÚ3500H¡ª¡ª3504Hµ¥Î»ÖС£¶ø×ª»»½á¹û´æ·ÅÔÚ3510H¡ª¡ª3511Hµ¥ÔªÖС£ 2£©ÊµÑé²½Öè
£¨1£©ÊäÈë³ÌÐò²¢¼ì²éÎÞÎó¡£ £¨2£©ÔÚ3500H¡ª¡ª3504Hµ¥Ôª´æÈëÊ®½øÖÆÊý12µÄASCIIÂ룬¼´E3500H¨L£¬²¢ÊäÈë3030303132H¡£ £¨3£©G=2000¨L£¬ÔËÐгÌÐò£¬²¢ÓÃCTRL+CÀ´ÖжϳÌÐò·µ»Ø¼à¿Ø×´Ì¬¡£ £¨4£©ÓÃD3510¨LÀ´²é¿´½á¹û£¬Ó¦Îª£º3510 0C 00 £¨5£©·´¸´ÊÔ¼¸×éÊý£¬¿¼²é³ÌÐòµÄÕýÈ·ÐÔ¡£
µØÖ·£¨H£© Öú¼Ç·û ×¢ÊÍ 2000 MOV SI£¬3500 £»Ô´µØÖ· 2003 MOV DI£¬3510 £»½á¹ûµØÖ· 2006 MOV BX£¬000A £»³ËÊý 10 2009 MOV CX£¬0004 £»¼ÆÊý 200C MOV AH£¬00 £»AH ÇåÁã 200E MOV AL£¬[SI] £»È¡±»×ª»»Êý
2010 SUB AL£¬30 £»ASCIIÂë±äÊ®½øÖÆÊý 2012 IMUL BX £»¸ß루AX£©*£¨BX£©ËÍAX 2014 ADD AL£¬[SI+01] £»È¡ÏÂһλ
1017 SUB AL£¬30 £»ASCIIÂë¼õ30±äÊ®½øÖÆÊý 2019 INC SI £»Ô´µØÖ·Ö¸Õë+1
201A LOOP 2012 £»CX-1£¬ÈôCX²»µÈÓÚÁãÔò¼ÌÐø 201C MOV [DI]£¬AX £»ÈôCX²»µÈÓÚÁãÔò´æ½á¹û 201E INT 3
ͼ1-1
2 ½«Ê®½øÖÆÊýµÄASCIIÂëת»»ÎªBCDÂë
1£©³ÌÐòÁ÷³ÌºÍ³ÌÐò
Éè´Ó¼üÅÌÊäÈëµÄÎåλʮ½øÖÆÊýµÄASCIIÂëÒÑ´æ·ÅÔÚ3500HÆðʼµÄÄÚ´æµ¥ÔªÄÚ£¬°ÑËüת»»³ÉBCDÂëºó£¬ÔÙ°´Î»·Ö±ð´æÈë350AHÆðʼµÄÄÚ´æµ¥ÔªÄÚ¡£ÈôÊäÈëµÄ²»ÊÇÊ®½øÖÆÊýµÄASCIIÂ룬Ôò¶ÔÓ¦´æ·Å½á¹ûµÄÄÚÈÝΪ¡°FF¡±¡£Ò»×Ö½ÚASCIIÂëÈ¡ÆäµÍËÄλ¼´±äΪBCDÂ룬³ÌÐòÁ÷³Ìͼ¼°¿¼³ÌÐòÈçͼ1-2Ëùʾ¡£
2£©ÊµÑé²½Öè
£¨1£© ÊäÈë³ÌÐò²¢¼ì²éÎÞÎó¡£
£¨2£© ÔÚ3500H¡ª¡ª3504Hµ¥ÔªÖдæÈëÎåλʮ½øÖÆÊýµÄASCIIÂ룬¼´ E3500¨L£¬²¢ÊäÈë31£¬32£¬33£¬34£¬35¡£ £¨3£© G=2000¨L£¬ÔËÐÐÒÔÉϳÌÐò¡£ £¨4£© D350A¨L£¬ÏÔʾ½á¹ûΪ£º
4