µ±Ç°Î»ÖãºÊ×Ò³ > ºÏ·Ê¹¤Òµ´óѧ»ã±à³ÌÐòÉè¼ÆÊµÑ鱨¸æÍêÕû´úÂë
¸½¼ÓÌâ¶þ£ºÍê³É BXÖÐ1 µÄ¸öÊýµÄͳ¼Æ¡£
Îå. ʵÑéÌå»á
ͨ¹ý±¾´ÎʵÑ飬Á˽âÁËʹÓÃdebugµÄ¸÷ÖÖÖ¸ÁͬʱÔÚdebugϽøÐбà³Ì£¬±È½ÏÂé·³¡£ÓÉÓÚÊǵÚÒ»´Î±àд»ã±à³ÌÐò£¬»¹ÊÇÐèÒª¶àÁ·Ï°¡£
ʵÑé¶þ »ã±àÓïÑÔ³ÌÐòÉè¼Æ(˳Ðò¡¢Ñ»·)
Ò». ʵÑéÄ¿µÄ
1¡¢ÕÆÎÕ˳ÐòºÍÑ»·³ÌÐò½á¹¹ºÍÉè¼Æ·½·¨£»
2¡¢ÊìϤÔÚPC»úÉϽ¨Á¢¡¢»ã±à¡¢Á¬½Ó¡¢µ÷ÊÔºÍÔËÐÐ8086/8088»ã±àÓïÑÔ³ÌÐòµÄ¹ý³Ì¡£
¶þ. ʵÑéÄÚÈÝ
1¡¢X¡¢Y¡¢Z¡¢V¾ùΪ×Ö±äÁ¿£¬ÔÚX¡¢Y¡¢Z¡¢V×Öµ¥ÔªÖдæ·ÅÊÇ16λ´ø·ûºÅÊý¡£ÊÔ±àд»ã±àÓïÑÔ³ÌÐòÍê³ÉÒÔϹ¦ÄÜ£º ¢Ù¼ÆËã±í´ïʽֵ£¨V¨C£¨X*Y+Z-720£©£©/X£»
¢Ú½«ÉÏÊö±í´ïʽÔËËã½á¹ûÕûÊý·ÅÔÚSUM1µ¥Ôª£¬ÓàÊý·ÅÔÚSUM2µ¥Ôª¡£ 2¡¢ÇóÒ»¸ö°à50ÃûѧÉú³É¼¨µÄƽ¾ùÖµ£¨¸½¼ÓÌ⣺×î´óÖµºÍ×îСֵ,²¢½«½á¹ûÏÔʾ³öÀ´£©
3¡¢´Ó¼üÅ̶ÁÈëÒ»¸ö×Ö·û´®£¬ÒÔEnter½áÊø£¬×Ö·û´®²»³¬¹ý50¸ö×Ö·û£¬²¢´òÓ¡¸Ã×Ö·û´®(¸½¼ÓÌ⣺²éÕÒÖмäÊÇ·ñÓС®asm¡¯×Ó´®¡£Èç¹ûÓУ¬Êä³ö¡®Yes¡¯£»·ñÔò£¬Êä³ö¡®No¡¯)¡£
Èý. ʵÑé¹ý³ÌºÍ³ÌÐò
1¡¢¼ÆËã±í´ïʽֵ£¨V¨C£¨X*Y+Z-720£©£©/X£» data segment x dw 021ch y dw 0001h z dw 0ffffh v dw 0438h w dw 0000h sum1 dw ? sum2 dw ? data ends
assume cs:code,ds:data code segment start: mov ax,data mov ds,ax
MOV AX,x IMUL Y ; x*y MOV CX, AX
MOV BX, DX MOV AX, Z CWD
ADD CX, AX
ADC BX, DX ; x*y+z SUB CX, 540 ;£¿
SBB BX, 0 ; x*y+z-540 MOV AX, V CWD SUB AX, CX
SBB DX, BX ; v-(x*y+z-540) IDIV X ; (v-(x*y+z-540))/x
mov sum1,ax mov sum2,dx
mov ax,4c00h int 21h code ends end start
2¡¢ÇóÒ»¸ö°à50ÃûѧÉú³É¼¨µÄƽ¾ùÖµ£¨¸½¼ÓÌ⣺×î´óÖµºÍ×îСֵ,²¢½«½á¹ûÏÔʾ³öÀ´£© data segment db 7,49 dup(6) max db ? min db ? result db 0 data ends
assume cs:code,ds:data code segment start: mov ax,data mov ds,ax
mov ax,0 mov cx,50 mov di,0 again: mov bl,[di]
mov bx,0
add di,1 add ax,bx loop again mov bl,50 div bl mov result,al
mov di,50 max2:sub di,1 mov cx,50 mov si,0 mov al,[di] max1: cmp al,[si] jb max2 add si,1 loop max1 mov max,al
mov di,50 min2:sub di,1 mov cx,50 mov si,0 mov al,[di] min1: cmp al,[si] jnb min2 add si,1 loop min1 mov min,al
mov ax,4c00h int 21h code ends end start
¹²·ÖÏí92ƪÏà¹ØÎĵµ