微机原理统计各分数段的学生人数汇编代码

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

代码:

DATA SEGMENT
    GRADE DB 59,54,55,57,55,54,53,57,58,56,61,61,65,67,68,68,69,60,63,68,70,71,73,74,75,77,79,71,72,74,80,81,87,86,88,89,86,83,85,84,94,97,94,100,100,97,96,95,93,99
    NUM EQU $-GTADE                 ;获取TABLE中元素个数
    COUNT1 DB 0
    COUNT2 DB 0
    COUNT3 DB 0
    COUNT4 DB 0
    COUNT5 DB 0                     ;COUNT1到COUNT5依次存放60分以下、60-69分、70-79分、80-89分、90-100分的人数
DATA ENDS
CODE SEGMENT
    ASSUME:CS:CODE,DS:DATA
START:
     MOV AX,DATA
     MOV DS,AX                      ;设置DS
     
     LEA SI,GRADE-1               ;将GRADE首地址减一后送到SI
     XOR CX,CX
     MOV CX,NUM                   ;设置循环次数 
NEXT: 
     INC SI
     MOV AL,[SI]                    ;将TABLE中第一个元素送到AL寄存器
     CMP AL,60                      ;将AL内容和60比较,
     JL  NEXT1                       ;若AL内容小于60,则跳转到NEXT1
     CMP AL,70
     JL NEXT2                        ;若AL内容小于70,则跳转到NEXT2
     CMP AL,80
     JL NEXT3                        ;若AL内容小于80,则跳转到NEXT3
     CMP AL,90            
     JL NEXT4                        ;若AL内容小于90,则跳转到NEXT4
     CMP AL,100
     JLE NEXT5                      ;若AL内容小于等于100,则跳转到NEXT5
NEXT1:
     INC COUNT1           
     LOOP NEXT                    ;循环
NEXT2:
     INC COUNT2         
     LOOP NEXT
NEXT3:
     INC COUNT3         
     LOOP NEXT 
NEXT4:
     INC COUNT4         
     LOOP NEXT 
NEXT5:
     INC COUNT5         
     LOOP NEXT
     
     MOV AH,4CH
     INT 21H                             ;返回DOS
CODE ENDS
     END START

运行结果:

 

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值