回 帖 发 新 帖 刷新版面

主题:求助:一道简单的编程题

由于刚接触汇编语言,所以弄了很久都搞不清楚里面的程序试怎么样的,只会写出开始和结尾,汗。希望有哪位朋友伸出援手。题目如下:
设有九个学生某门课的成绩存放在数据区中。试编制一个程序,统计低于60分,60~69分,70~79分,80~89分,90~99分和100分的人数,并输出显示统计结果。

DATA  SEGMENT
HAN DB 42 62 68 70 79 82 85 90 95 
MEM DB ?
DATA ENDS
CODE SEGMENT
     ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA;
       MOV DS,AX
       MOV CX,9





       MOV AX,4C00H
       INT 21H
CODE  ENDS
END  START

中间空的那段不知道该怎么写才好
我的邮箱试  ntfy28@126.com

回复列表 (共3个回复)

沙发

DATA  SEGMENT
HAN DB 42,62,68,70,79,82,85,90,95
MEM DB 6 dup(30h),'$'   ;分别用于存放各分数段成绩的个数
DATA ENDS
CODE SEGMENT
     ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
       MOV DS,AX
       MOV CX,9
       mov si,0
begin:
      .if han[si]<60
        add mem[0],1
      .elseif han[si]>=60 &&  han[si]<=69
        add mem[1],1
      .elseif han[si]>=70 &&  han[si]<=79
        add mem[2],1
      .elseif han[si]>=80 &&  han[si]<=89
        add mem[3],1
      .elseif han[si]>=90 &&  han[si]<=99
        add mem[4],1
      .else
        add mem[5],1
      .endif
      inc si
   loop begin

       mov dx,offset mem   ;显示统计结果122220
       mov ah,9
       int 21h
       MOV AX,4C00H
       INT 21H
CODE  ENDS
END  START

板凳

谢谢了

3 楼

但是汇编语言好像不能用for的,

我来回复

您尚未登录,请登录后再回复。点此登录或注册