汇编程序:求总成绩

求总成绩

  在下面的数据段中,给出了全班5名同学OS、AL、SE、DB课程的成绩,请编程计算出总成绩,写在0值处

datasg segment
    dw 54, 74, 71, 52, 0
    dw 68, 54, 93, 95, 0
    dw 81, 52, 97, 67, 0
    dw 98, 77, 69, 99, 0
    dw 79, 71, 69, 73, 0
datasg ends

[参考解答]

assume cs:codesg,ds:datasg, ss:stacksg
datasg segment
    dw 54, 74, 71, 52, 0
    dw 68, 54, 93, 95, 0
    dw 81, 52, 97, 67, 0
    dw 98, 77, 69, 99, 0
    dw 79, 71, 69, 73, 0
datasg ends
stacksg segment
      dw 0,0,0,0,0,0,0,0
stacksg ends
codesg segment
start: mov ax, stacksg
       mov ss, ax
       mov sp, 16
       mov ax, datasg
       mov ds, ax
       mov bx, 0    ;基址
       mov cx, 5    ;外层循环次数

   s0: push cx      ;保存外层循环数
       mov si, 0    ;[bx+si]将是要处理的数值
       mov cx, 4    ;设置内层循环次数
       mov ax, 0    ;用于存储累加和
    s: add ax, [bx+si]  ;取成绩
       add si, 2
       loop s

       mov [bx+si], ax  ;保存和
       add bx, 10       ;下一位同学成绩的基址
       pop cx           ;恢复外层循环
       loop s0

       mov ax,4c00h
       int 21h
codesg ends
end start
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值