汇编程序中的数字总和

时间:2016-01-01 14:46:09

标签: assembly sum digit

我想要数字的总和。这就是为什么我写了以下程序:

.MODEL SMALL
.STACK 100H
.DATA
MSG DB 0AH,0DH,'THE SUM OF '
C1  DB ?,'AND'
C2  DB ?,'IS'
SUM DB ?,'$'
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS,AX

MOV AH,2
MOV DL,'?'
INT 21H

MOV AH,1
INT 21H
MOV C1,AL
INT 21H
MOV C2,AL

ADD AL,C1
SUB AL,30H
MOV SUM,AL

LEA DX,MSG
MOV AH,9
INT 21H

MOV AH,4CH
INT 21H

MAIN ENDP
END MAIN

我可以给出27这样的数字。但是在屏幕中,显示以下字符串。

"THe sum of "

我想显示以下字符串:

"The sum of 2 and 7 is 9"

我该怎么做?任何建议都有很大帮助。

1 个答案:

答案 0 :(得分:1)

如果您坚持使用这些小数字,您的程序应该按预期工作 不过我会建议以下更改:

  • 以及 之前和之后放置空格以获得更好的布局。
  • 请勿使用问号。您的汇编程序可能已选择在未初始化的数据部分中存储此类字节,从而中断您的排序。

C1  DB 'x AND '
C2  DB 'x IS '
SUM DB 'x$'