【发布时间】:2016-01-01 14:46:08
【问题描述】:
我想对数字的位数求和。这就是为什么,我编写了以下程序:
.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"
我该怎么做?任何建议都有很大帮助。
【问题讨论】:
-
打印
2 and 7 is部分后,将它们从 ASCII 字符串转换为二进制整数(例如,调用或实现您自己的 strtol)。添加这些值,将结果转换回字符串。