遇到一个棘手的问题,求好心人解答一下
STACK1 SEGMENT STACKDW 256 DUP(?)
STACK1 ENDS
DATA SEGMENT USE16
MES1 DB 'Show a as hex:',0DH,0AH,'$'
MES2 DB 'Please input a string:','$'
MES3 DB 50
DB ?
DB 50 DUP(?),'$'
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV DX,OFFSET MES2
MOV AH,09H
INT 21H
MOV DX,OFFSET MES3
MOV AH,0AH
INT 21H
MOV DX,OFFSET MES3
MOV AH,09H
INT 21H
MOV DX,OFFSET MES1
MOV AH,09H
INT 21H
MOV AX,4C00H ;go back to dos
INT 21H
CODE ENDS
END START
为什么我这个程序不能实现显示出键盘输入的字符串啊?另外我MES3在数据段的最初数据并不是全空啊,里面有一个最初的值2.有好心人能帮我解答一下吗?我郁闷好几天了。