DATA SEGMENT
AA DB 0DH,'Please input a string:$'
BB DB 0DH,0AH,'Print the string:$'
CC
DB 16
;注意这是自己假设的输入容量
DB ?
;实际输入的个数
DB 16 DUP(0)
;真实的输入存储处
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEGIN:MOV AX,DATA
MOV DS,AX
LEA DX,AA
MOV AH,9
INT 21H
LEA DX,CC
MOV AH,10
;调用21号中断10号子程序
INT 21H
lea dx,bb
mov ah,9
int 21h
lea dx,cc[2]
;回显的地址需要传送正确,前两字节并非存储处
mov ah,9
int 21h
mov ax,4c00h
;返回操作系统
int 21h
CODE ENDS
END BEGIN
-----------------------------------------------------------------
要注意的是09号显示字符串,需要以$判断显示结束
在程序中定义data段:
CC DB 16
DB ?
DB 16DUP(0)
表明你在可接受的容量范围内输入时要加上$,比如输入123$
这样才能正常回显.
--------------------------------
或者修改data段
CC DB 16
DB ?
DB 16 DUP('$')
---------------------------------
[[italic] 本帖最后由 wubizao 于 2007-11-26 13:19 编辑 [/italic]]