ºÏ·Ê¹¤Òµ´óѧ»ã±àÓïÑÔʵÑ鱨¸æ ÏÂÔØ±¾ÎÄ

Îå. ʵÑéÌå»á

Õâ´ÎµÄʵÑéÈÃÎÒѧ»áÁË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.

Data segment

X dw 1 Y dw 720 Z dw -1 V dw 1 Sum1 dw ? Sum2 dw ?

Data ends Code segment

Assume cs:code ds:data

mov ax,data Mov ds,ax Mov ax,x Mov bx,y Imul bx

;x*y

Start:

Mov cx,ax Mov bx,dx Mov ax,z Cwd Add cx,ax Adc bx,dx Sub cx,720 ;x*y+z

;x*y+z-720 Sbb bx,0 Mov ax,v

Cwd Sub ax,cx Sbb dx,bx Mov bx,x Idiv bx Mov sum1,ax

Mov sum2,dx

mov bx,sum1 mov ch,4 mov cl,4 again: rol bx,cl

mov dl,bl and dl,0fh cmp dl,0ah jl next

add dl,37h ;\

jmp down

next: add dl,30h ;\

down:

mov ah,2 int 21h dec ch jnz again

mov dl,23h ;\

;v-(x*y+z-720)

;(v-(x*y+z-720))/x

;sum1 ´æÉÌ£¬sum2 ´æÓàÊý

mov ah,2 int 21h

mov bx,sum2

mov ch,4 mov cl,4 mov dl,bl and dl,0fh cmp dl,0ah jl next1

add dl,37h ;\jmp down1

again1: rol bx,cl

next1: add dl,30h ;\down1: 2.

data segment

grade db 61,73,82,90,100,45 dup(70) avg1 db ? ;ƽ¾ùÖµµÄÉÌ avg2 db ? max db ?

;ƽ¾ùÖµµÄÓàÊý ;×î´óÖµ

Mov ax,4c00h Int 21h End start mov ah,2 int 21h dec ch jnz again1

Code ends

min db ?;×îСֵ data ends code segment

assume cs:code,ds:data

mov ax,data

start: