8086-按成绩统计人数

4. 定义一数组GRADE存放有100个学生某门功课的考试成绩,要求编一程序,完成如下任务:统计各分数段的人数,即要求统计90~100分,80~89分,70~79分,60~69分以及60分以下的各有多少人。

DATA  SEGMENT
   GRADE   DB   30,60,69,70,79,89,90,100,80,70,30,60,80,100,50,70,91 ;可以有更多的数据,这里简单写几个方便调试编写 
   NUM     EQU  $-TABLE      ;数组长度 
   COUNT   DB   5  DUP(30H)
DATA  ENDS

CODE  SEGMENT
    ASSUME  DS:DATA  CS:CODE
START:
      MOV  AX,   DATA
      MOV  DS,   AX
      LEA  BX,   GRADE    ;获取数组首地址
      MOV  CX,   NUM 
      
      
   X1:LEA  SI,    COUNT
      MOV  AL,   [BX]
      CMP  AL,   59
      JG   X2          ;大于59,转X2  
      ADD  [SI], 1
      JMP  NEXT   
      
   X2:CMP  AL,   69
      JG   X3          ;大于69,转X3 
      ADD  SI,   1
      ADD  [SI], 1
      JMP  NEXT
      
   X3:CMP  AL,   79
      JG   X4          ;大于79,转X4  
      ADD  SI,   2
      ADD  [SI], 1
      JMP  NEXT   
                     
   X4:CMP  AL,   89
      JG   X5          ;大于89,转X4  
      ADD  SI,   3
      ADD  [SI], 1
      JMP  NEXT                  
                     
   X5: 
      ADD  SI,   4
      ADD  [SI], 1   ;90-100
      
 NEXT: INC BX 
      LOOP X1 
      
      MOV  AH,    4CH
      INT  21H
      
CODE  ENDS
      END  START
      

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值