汇编语言,键盘任意输入10个1位十进制数,将它们累加求和,把和放在Sum单元,并以十进制形式显示输

2025-04-28 01:34:35
推荐回答(1个)
回答1:

assume cs:code
code segment
start:
  mov cx, 10
  mov bx, 0

  mov ah,1
$0:
  int 21h
  sub al,30h ;不做输入有效性检查
  add bl,al
  adc bh,0  ;实际上需要,10个9相加也不超过al的范围
  loop $0

  mov ax, bx
  call print

  mov ah,4ch
  int 21h
;print (ax) in decmial
print proc near
  xor cx,cx
  mov bx, 10
Q0:
  xor dx,dx
  div bx
  xor dx, 0e30h
  push dx
  inc cx
  cmp ax, 0
  jnz Q0
Q1:
  pop ax
  int 10h
  loop Q1

  ret
print endp

code ends
end start