实训汇编语言设计——学生的成绩统计

;本程序完成功能如下:
;设有十个学生的成绩分别为56 69 84 82 73
;88 99 63 100 80。编制程序分别统计低于60分,60-90
;67-97,80-89,90-99和100分的人数,并存放于s5,s6,s7,s8,s9,s10中。
data segment
score dw 59,69,84,82,73,88,99,63,100,80
      s5 dw 0
      s6 dw 0
      s7 dw 0
      s8 dw 0
      s9 dw 0
      s10 dw 0
data ends
code segment
 main proc far
 assume ds:data,cs:code
start:
     ;set stack for return
     push ds
     sub ax,ax
     push ax
     ;set ds register to current data segment
     mov ax,data
     mov ds,ax
    
     ;main part of code goes here
     mov si,offset score
     mov cx, 10
 next:mov bx,[si]       ;取学生的成绩存入bx中
      mov ax,60
      cmp bx,ax         ;与各分数段比较并跳到相应的
      jb ss5            ;统计各分数段人数的程序部分
      mov ax,70
      cmp bx,ax
      jb ss6
      mov ax,80
      cmp bx,ax
      jb ss7
      mov ax,90
      cmp bx,ax
      jb ss8
      mov ax,100
      cmp bx,ax
      jb ss9
      inc s10
      jmp loop1
  ss5:inc s5            ;统计各分数段人数
     jmp loop1
  ss6:inc s6
     jmp loop1
  ss7:inc s7
     jmp loop1
  ss8:inc s8
     jmp loop1
  ss9:inc s9
 loop1:add si,2       ;取下一个分数的偏移地址
       loop next      ;循环十次,对十个分数分类
 exit:ret
main endp
 ;----------------------------
 code ends
 ;**********************************   
      end start           
  • 6
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值