汇编语言,急!

来源:百度知道 编辑:UC知道 时间:2024/05/17 05:41:10
在缓冲区Buff连续存放着20个学生的数学成绩,编写程序统计其中85~100,60~85,60分以下者各有多少人,并把结果存到自RESULT开始的三个字节单元
如何用DEBUG查看呢?

; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
Buff db 56,69,84,82,73,88,99,63,100,80,70,85,100,90,73,43,60,63,72,88 ; 成绩单
Elements equ ($-Buff)/Type Buff ;元素个数
RESULT db 0,0,0
Start: push cs
pop ds ;使数据段与代码段同段
cld
lea si,Buff ; 成绩首地址
mov cx,Elements ;成绩数目
Read_Buff: lodsb ; 提取成绩
cmp al,60 ;>=60分?
jae $+8
inc RESULT[2] ; <60分,计数
jmp Next_One
cmp al,85 ;>=85分?
jae $+8
inc RESULT[1] ;60分<=al<85分,计数
jmp Next_One
inc RESULT ;85分<=al<=100分,计数
Next_One: loop Read_Buff ; 循环,统计下一个成绩
Exit_Proc: mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束

Sc proc @buff:dword,@result:dword
mov esi,@buff
mov edi,@result
xor ax,ax
mov [edi],ax ;计数器单元清为0
mov [edi+2],al
mov ecx,20