΢»úÔ­ÀíÓë½Ó¿Ú¼¼ÊõʵÑ鱨¸æ

ʵÑéÒ»¡¢ÈÏʶTddebug¼¯³É²Ù×÷Èí¼þ

Ò»£®ÊµÑéÄÚÈÝ

£¨Ò»£© ʵÑéÌâÄ¿£ºÊý¾Ý´«ËÍʵÑé

1. ±à³Ì½«Êý¾Ý¶ÎÖеÄÒ»¸ö×Ö·û´®´«Ë͵½¸½¼Ó¶ÎÖУ¬²¢Êä³ö¸½¼Ó¶ÎÖеÄÄ¿±ê×Ö·û´®µ½ÆÁÄ»ÉÏ¡£

2. Ð޸Ĵ˳ÌÐò£¬²ÉÓÃ×Ö·û´®´«ËÍÖ¸ÁîÍê³É¡£

£¨¶þ£© ʵÑéÄ¿µÄ£ºÍ¨¹ý¶Ô¸Ã³ÌÐò½øÐе÷ÊÔ£¬²é¿´³ÌÐò¶Î¡¢Êý¾Ý¶Î¡¢¸½¼Ó¶Î×°ÈëÄÚ´æºóµÄ·ÖÅäÇé¿ö¡£µ¥²½Ö´ÐÐÊý¾Ý´«ËÍÖ¸Áîºó£¬¹Û²ì¸÷¸ö¼Ä´æÆ÷¼°Êý¾ÝÇøµÄÄÚÈÝ¡£

£¨Èý£© ʵÑé²½Ö裺

1. ÔËÐÐTddebugÈí¼þ£¬Ñ¡ÔñEdit²Ëµ¥±àдʵÑé³ÌÐò

2. ʹÓÃCompile²Ëµ¥ÖеÄCompileºÍLink¶ÔʵÑé³ÌÐò½øÐлã±à¡¢Á¬½Ó£¬Éú³ÉÖ´ÐÐÎÄ

¼þ¡£

3. ʹÓÃRmrun²Ëµ¥ÖеÄRunÔËÐгÌÐò£¬¹Û²ìÔËÐнá¹û¡£

4. ʹÓÃRmrun²Ëµ¥ÖеÄDebugµ÷ÊÔ³ÌÐò£¬²é¿´³ÌÐò¶Î¡¢Êý¾Ý¶Î¡¢¸½¼Ó¶Î×°ÈëÄÚ´æºó

µÄ·ÖÅäÇé¿ö¡£µ¥²½Ö´ÐÐÊý¾Ý´«ËÍÖ¸Áîºó£¬¹Û²ì¸÷¼Ä´æÆ÷¼°Êý¾ÝÇøµÄÄÚÈÝ¡£¹ý³ÌÈçÏ£º 1) °´F7µ¥²½Ö´ÐУ¬ÔÚ´úÂëÇøÖÐÓÐÒ»¸öÈý½Ç£¬±íʾÕýÔÚÖ´ÐеÄÖ¸ÁÿһÌõÖ¸ÁîµÄÖ´ÐÐÒ»¶¨»áʹĿ±ê¼Ä´æÆ÷ºÍ״̬¼Ä´æÆ÷·¢Éú±ä»¯£¬´ÓÏà¹Ø´°¿Ú¿´½á¹û¡£ 2) ¼ì²éÄÚ´æÊý¾ÝÇøµÄÄÚÈÝ£¬¹Ø¼üÊÇÕÒ³öÓû§³ÌÐòµÄÊý¾Ý¶ÎºÍ¸½¼Ó¶Î£º

? ·½·¨1£ºÔÚCPU´°¿Ú°´Tab¼üʹÄÚ´æÊý¾ÝÏÔÊ¾Çø³ÉΪ»î¶¯Çø£¬°´Ctrl+G¼ü£¬?

ÊäÈ룺¡°DS»òES¼Ä´æÆ÷µÄÖµ£ºÆ«ÒƵØÖ·¡±£¬¼´¿ÉÏÔʾÓû§Ö¸¶¨µÄÊý¾ÝÇø ·½·¨2£ºÑ¡Ôñ²Ëµ¥View| Dump£¬µ¯³öÄÚ´æÊý¾ÝÏÔʾ´°¿Ú¡£

3) ²é¿´Ö´Ðнá¹û£º°´Alt+F5£¬Çл»µ½Óû§´°¿Ú¡£ 5. ¸ü¸ÄÊý¾ÝÇøÖеÄÊý¾Ý£¬¿¼²ì¡¢µ÷ÊÔ³ÌÐòµÄÕýÈ·ÐÔ¡£

¶þ£®·ÖÎöÉè¼ÆË¼Ï룬»æÖÆÊµÑéÔ­Àíͼ¡¢Á÷³Ìͼ¡£

»ã±àÓïÑÔ³ÌÐòµÄ¿ª·¢¹ý³ÌÈçͼ1.1Ëùʾ£¬Õâ¸ö¹ý³ÌÖ÷ÒªÓб༭¡¢±àÒë¡¢Á´½Ó¼¸¸ö²½Öè¹¹³É¡£

Èý£®³ÌÐòÇåµ¥¼°Ïà¹Ø×¢ÊÍ¡£

DDATA SEGMENT

MSR DB \LEN EQU $- MSR

DDATA ENDS EXDA SEGMENT MSD DB LEN DUP(?)

£»¶¨ÒåÔ´Êý¾Ý¶Î

£»¶¨Ò帽¼ÓÊý¾Ý¶Î

1

EXDA ENDS

£»¶¨Òå¶ÑÕ»¶Î

MYSTACK SEGMENT STACK DW 20 DUP(?) MYSTACK ENDS

CODE SEGMENT

£»¶¨Òå´úÂë¶Î

ASSUME CS:CODE,DS:DDATA,ES:EXDA START: MOV AX,DDATA

MOV DS,AX MOV AX,EXDA MOV MOV MOV MOV MOV

ES,AX SI,OFFSET MSR DI,OFFSET MSD CX,LEN BX,0

£»×°ÔØÊý¾Ý¶Î¼Ä´æÆ÷

£»×°Ôظ½¼ÓÊý¾Ý¶Î¼Ä´æÆ÷

NEXT: MOV AL,MSR[BX] £»¿ªÊ¼´«ÊäÊý¾Ý MOV ES:MSD[BX],AL

INC LOOP PUSH

BX NEXT ES

£»½«¸½¼Ó¶Î¼Ä´æÆ÷Ö¸ÏòµÄ¶ÎÖµ¸³¸øÊý¾Ý¶Î¼Ä´æÆ÷

POP DS MOV DX,OFFSET MSD

MOV AH,9

INT 21H MOV AH,4CH INT 21H

£»ÏÔʾ×Ö·û´® £»·µ»ØDOS״̬

CODE ENDS END START

ËÄ£®ÊµÑé½á¹û²¢·ÖÎö¡£

Î壮ÊÕ»ñÌå»á¼°ÊµÑéÖÐÓöµ½µÄÎÊÌâºÍ½â¾ö·½·¨¡£

ÔÚÕâ´ÎÊÔÑéÖÐÖ÷ÒªÊÇÕÆÎÕtddebugµÄ¿ª·¢»·¾³£¬Á˽â»ã±àÓïÑԵĻù±¾³ÌÐò¡£ÓÉÓÚ¸Õ

2

¸Õ½Ó´¥»ã±àÓïÑԺͿª·¢»·¾³£¬¸÷Ïî֪ʶ¶¼ÏԵıȽϱ¡Èõ£¬Óöµ½Á˺ܶà²Ù×÷ÉϵĻù±¾ÎÊÌâ¡£±ÈÈçʹÓÿì½Ý¼ü½øÐнçÃæ²Ù×÷²»Ì«ÊìÁ·µÈ¡£ÓÉÓÚ´úÂë¶ÎÏà¶Ô±È½Ï³¤£¬ºÜ¶àµØ·½»¹ÐèÔÚÀÏʦµÄÖ¸µ¼Ï²ÅÄÜ¿´¶®£¬Ö±½Ó½«´úÂë³ÌÐò´ò³öÀ´»á³öÏֺܶàÓÉÓÚ²»Àí½â´ÖÐĵÈÔì³ÉµÄʧÎóʹ֮²»ÄܱàÒë³É¹¦¡£ºóÀ´³¢ÊÔ½«³ÌÐò´úÂë¸´ÖÆ²¢Áí´æÎªASM¸ñʽ֮ºó¾Í¿ÉÒÔÖ±½Ó±àÒë·½±ãÁ˺ܶàÁé»îÁ˺ܶࡣ½ñºó»¹ÐèÔÚÀíÂÛ¿ÎÌÃÉ϶àϹ¦·ò£¬½øÒ»²½¶Ô»ã±àÉîÈëѧϰ¡£

ʵÑé¶þ¡¢I/O³ÌÐòÉè¼Æ

Ò»£®ÊµÑéÄÚÈÝ£ºI/O³ÌÐòÉè¼Æ £¨Ò»£©ÊµÑéÄÚÈÝ£º

1£®±à³ÌÓɼüÅÌÊäÈëÈÎÒâÒ»¸ö×Ö·û£¬½«¸Ã×Ö·ûµÄASCIIÂëÖµÏÔʾÔÚÆÁÄ»ÉÏ¡£

2£®´Ó¼üÅÌÊäÈëÁ½¸ö1λʮ½øÖÆÊý£¬¼ÆËã¶þÕßÖ®ºÍ£¬²¢½«½á¹ûÏÔʾÔÚÆÁÄ»ÉÏ¡£

3£®±à³ÌÓɼüÅÌÊäÈëÈÎÒâһλÊý£¬½«¸ÃÊýÒÔ¶þ½øÖÆÊýÐÎʽÏÔʾÔÚÆÁÄ»ÉÏ£¬Àý£º5=00000101B

£¨¶þ£© ʵÑé²½Ö裺

1. »­³öʵÑéÁ÷³Ìͼ¡£

2. ÔËÐÐTddebugÈí¼þ£¬Ñ¡ÔñEdit²Ëµ¥±àдʵÑé³ÌÐò

3. ʹÓÃCompile²Ëµ¥ÖеÄCompileºÍLink¶ÔʵÑé³ÌÐò½øÐлã±à¡¢Á¬½Ó£¬Éú³ÉÖ´ÐÐÎļþ¡£

4. ʹÓÃRmrun²Ëµ¥ÖеÄRunÔËÐгÌÐò£¬¹Û²ìÔËÐнá¹û¡£

5. ʹÓÃRmrun²Ëµ¥ÖеÄDebugµ÷ÊÔ³ÌÐò¡£µ¥²½Ö´ÐÐÖ¸Á¹Û²ì¸÷¼Ä´æÆ÷¼°Êý¾ÝÇøµÄ

ÄÚÈÝ¡£

6. ¸ü¸ÄÊý¾ÝÇøÖеÄÊý¾Ý£¬¿¼²ì³ÌÐòµÄÕýÈ·ÐÔ¡£

¶þ£® ·ÖÎöÉè¼ÆË¼Ïë¡£

Éè¼ÆË¼Â·£ºÊ×ÏȽ«¸ÃÊýÒÔÊ®Áù½øÖÆÊýÐÎʽ·Ö½â£¬È»ºó½«Ã¿Ò»Î»·Ö±ðת»»ÎªASCIIÂëËÍÆÁÄ»ÏÔʾ¡£ÆäÖÐ0H~9HÖ®¼äµÄÊý¼Ó30H£¬¼´¿ÉµÃ0H~9HµÄASCIIÂ룬¶øAH~FHµÄASCIIÂ룬ÔòÐèÔÙ¼Ó7H£¬²Î¼û±í5-1¡£²Î¿¼³ÌÐòÁ÷³ÌÈçͼ2-1Ëùʾ¡£Ê¾Àý³ÌÐò²Î¼û²Î¿¼³ÌÐòÇåµ¥¡£

Èý£® DATA

³ÌÐòÇåµ¥¼°Á÷³Ì SEGMENT

MES DB 'Show a as hex:',0AH,0DH,'$'

SD DB 'a' DATA CODE

ENDS SEGMENT

MOV AX,DATA MOV DS,AX MOV MOV

DX,OFFSET MES £»ÏÔʾÌáʾÐÅÏ¢ AH,09H

SI,OFFSET SD AL,DS:[SI]

3

ASSUME CS:CODE,DS:DATA START:

INT 21H MOV MOV

AND AL,0F0H £»È¡¸ß4λ

MOV CL,4 SHR AL,CL CMP AL,0AH £»ÊÇ·ñÊÇAÒÔÉϵÄÊý JB C2 ADD AL,07H C2: ADD AL,30H

MOV MOV INT MOV AND CMP JB

21H

AL,DS:[SI] AL,0FH £»È¡µÍ4λ AL,0AH C3

£»ÏÔʾ×Ö·û

DL,AL AH,02H

ADD AL,07H C3: ADD AL,30H

MOV MOV INT MOV INT

DL,AL AH,02H 21H

AH,4CH 21H

£»ÏÔʾ×Ö·û

£»·µ»ØDOS

CODE ENDS END START

ËÄ£®

ʵÑé½á¹û¡£

Î壮 ÊÕ»ñÌå»á¡£

ÔÚʵÑéÖÐ,¼ÓÇ¿Á˶ÔÀíÂÛ֪ʶµÄÕÆÎÕ£¬ÓÉÓÚÌÃÉϵÄ֪ʶ̫¶àƽʱ²»ÄܺܺõÄÀí½â£¬ÔÚ¾ß

ÌåµÄʵ¼ùÖиü¼Ó¹®¹ÌÁËÎÒ¶ÔÀíÂÛ֪ʶµÄÈÏʶ£¬ÔöÇ¿ÁË»ã±àÓïÑԵıà³ÌÓï¸Ð¡£»ã±àÓïÑÔÊǵײãµÄÓ²¼þÓïÑÔ£¬ºÍCÓïÑÔÓÐÀàËÆµÄµØ·½£¬Ò²Óв»Ò»ÑùµÄµØ·½£¬ËùÒÔÔÚʵ¼Ê±à³ÌµÄ¹ý³ÌÖÐд¸ø´úÂë¶Î²âÊÔ½á¹û£¬¼ÓÉî¶ÔÀíÂÛ֪ʶµÄÁé»îÕÆÎÕ£¬Îª½ñºóÖð²½Ôö¼ÓÄѶȵıà³ÌÐòѧ

4

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)