你说的输入后自动关闭是什么意思?
从你的程序来看,连续输入5个字符后退出,程序应该没问题。
你是不是输入一个字符后按了回车键?所以没等到5个字符就退出了?
如果是这样,那就是你理解错误。回车也算是输入的字符的。
如果连续输入:12345
程序退出;
也可能是
1
2
3退出
输入5次以后
MOV AX, 4C00H ;功能号4CH,返回DOS
INT 21H
返回DOS了,没有设置显示,程序也就结束了,这是原因
DATA SEGMENT
SUM DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS: DATA, CS: CODE
START: MOV AX, DATA
MOV DS, AX
MOV CX, 5 ;循环次数
MOV SUM, 0 ;累加器清零
ONE: MOV AH, 1 ;输入单个字符的功能号
INT 21H ;输入一个字符,ASCII码在AL中
AND AL, 0FH ;ASCII码转换成二进制数
ADD SUM, AL ;累加
LOOP ONE ;计数与循环
;-------------------------------
;这里设置一个显示的把SUM字节转换为ASCII码,显示的
;-------------------------------
MOV AX, 4C00H
INT 21H
CODE ENDS
END START