求总成绩
在下面的数据段中,给出了全班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