MOV AX,BX MOV AX,0304H MOV AX,[0304H] MOV AX,[BX] MOV AX,0001[BX] MOV AX,[BX][SI]
MOV AX,0001[BX][SI]
ʵÑé¶þ ¼òµ¥³ÌÐòÉè¼Æ
Ò»¡¢ÊµÑéÄ¿µÄ£º
1. ½øÒ»²½ÊìϤDEBUG³£ÓÃÃüÁʹÓÃ
2. ÕÆÎÕ±àд»ã±àÓïÑÔÔ´³ÌÐòµÄ»ù±¾·½·¨ºÍ»ù±¾¿ò¼Ü
3. ѧϰÉè¼ÆË³Ðò½á¹¹³ÌÐò£¬Ñ§»áʹÓÃDEBUGÃüÁîµ÷ÊÔ³ÌÐòºÍ²é¿´½á¹û¡£
¶þ¡¢ÊµÑéÄÚÈÝ£º
1£® ¿ª»úºó£¬½âѹclabÎļþ£¬´ò¿ªclab.exe£¬È»ºó½øÈëMASM×ÓĿ¼¡£ 2£® ÔÚMASM×ÓĿ¼Ï½øÈëEDIT±à¼»·¾³£¬±àд»ã±àÓïÑÔÔ´³ÌÐò¡£ 3£® Ô´³ÌÐò±àдÍêºó£¬±£´æÔ´³ÌÐò
4£® ÔÚNASM×ÓĿ¼ÖÐÀûÓÃMASM.EXE»ã±à³ÌÐò¶ÔÔ´³ÌÐò½øÐлã±àºÍ±àÒë¡£µ±Ô´³ÌÐòÖÐÎÞ
Óï·¨´íÎóʱ£¬ÔòÔÚµ±Ç°¹¤×÷Ŀ¼ÏÂ×Ô¶¯Éú³ÉÒ»¸ö.OBJÎļþ£¬¼´Ä¿±ê´úÂëÎļþ¡£ 5£® ÈôÔ´³ÌÐòÓÐÓï·¨´íÎóʱ£¬»á³öÏÖ´íÎóÌáʾÐÅÏ¢¡£ÀýÈ磺 ¡Á¡Á Warning errors(¾¯¸æ´íÎó) ¡Á¡Á Severe errors£¨ÑÏÖØ´íÎó£©
Èô´æÔÚÑÏÖØ´íÎóʱ£¬ÔòÎÞ·¨Éú³É.OBJÎļþ£¬Ðè»Øµ½±à¼×´Ì¬ÏÂÐÞ¸ÄÔ´³ÌÐò£¬Ö±µ½´íÎóÊýΪÁãΪֹ¡£
6.µ±Ô´³ÌÐò±àÒëͨ¹ýºó£¬ÔÚMASMĿ¼Ï£¬ÎÒÃÇÀûÓÃÁ¬½Ó³ÌÐòLINK.EXE¶ÔÒ»¸ö»ò¶à¸öÄ¿±êÎļþ½øÐбàÒëÁ¬½Ó£¬Éú³É¿ÉÖ´ÐÐÎļþ£¨*.EXE£©
7.×îºóÀûÓÃDEBUGÃüÁî¶Ô»ã±à³ÌÐò½øÐе÷ÊÔ²¢²é¿´½á¹û¡£
±à¼³ÌÐò ±à¼ »ã±à³ÌÐò »ã±à Á¬½Ó³ÌÐò Á¬½Ó ÊÖ¹¤±àдµÄÔ´³ÌÐò »ã±àÓïÑÔÔ´Îļþ£¨.asm£© »úÆ÷ÓïÑÔÄ¿±êÎļþ£¨.obj£© »úÆ÷ÓïÑÔÖ´ÐÐÎļþ£¨.exe£©
8.±à³Ì£ºÇóÁ½¸öÊýµÄƽ¾ùÖµ¡£ÕâÁ½¸öÊý·Ö±ð·½³ÌÔÚXµ¥ÔªºÍYµ¥ÔªÖУ¬¶øÆ½¾ùÖµ·ÅÔÚZµ¥ÔªÖС£¼´Z=£¨X+Y£©/2 ²Î¿¼³ÌÐòÈçÏ£º
DATA SEGMENT X DB 2 Y DB 6 Z DB ? DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA MOV DS,AX MOV AL,X MOV AH,0 ADD AL,Y ADC AH,0 MOV BL,2 DIV BL MOV Z,AL MOV AH,4CH INT 21H CODE ENDS END START
9.ÊäÈëÏÂÃæÔ´³ÌÐò£¬²¢¶Ô³ÌÐò½øÐлã±à¡¢Á¬½Ó¡¢µ÷ÊÔ²¢ËµÃ÷³ÌÐòµÄ¹¦ÄÜ¡£
DATA SEGMENT NUMBER DW 0168H DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA
ORG 0100H START: MOV AX,DATA MOV DS,AX MOV DX,0 MOV BX,0001H MOV DI,8000H MOV SI,0 MOV AX,NUMBER MOV CX,16
NEXT: TEST AX,BX JZ CONTINUE OR DX,DI INC SI CONTINUE: ROL BX,1 ROR DI,1 LOOP NEXT MOV AH,4CH INT 21H CODE ENDS END START
Èý¡¢ÊµÑéϰÌâ
1. ±àд³ÌÐò£ºÇó1+2+3+??+100µÄºÍ DATA SEGMENT
RESULT DW ?;´æ·ÅºÍ DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX
MOV AX,1;´Ó1¿ªÊ¼¼Ó
MOV RESULT,0;ºÍµÄ³õÖµ¸³0 MOV CX,100;Ñ»·100´Î
NEXT:ADD RESULT,AX;ÿ´ÎÏòºÍÖÐÀÛ¼ÓAX INC AX;È»ºóAX¼Ó1 LOOP NEXT MOV BX,RESULT
Ïà¹ØÍÆ¼ö£º