新后求段简单的输入输出代码
我用的是MASM5.0
如题求一段字符串输入输出的代码,
就是由键盘输入字符串,保存到一变量中str
再将这个变量str的的内容输出来。
我一新手,输入我知道,用 21H的0AH实现
输出我也知道,09H但只会已定义好的变量,如 str2 db 'abcd$'
但不知道由键盘输入的,为什么老输不出来,是不是末尾没加$符号 的过??我也不知道怎么把$加进去,网上找了段代码,瞎连接了下(和$),但输出的不全,还有乱码,只有一两位是正常的。忘 前辈们指教,最好有详细的解释,谢谢,分不多,望见谅!
[解决办法]
;下面是完整代码
---------------------------------------------
DATA SEGMENT
BUF DB 25 ; 缓冲区长度
ACTHAR DB ? ; 保留单元, 存放输入的实际字符个数
CHAR DB 25 DUP (?) ; 定义25个字节存储空间
DB '$'
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV DX, OFFSET BUF
MOV AH, 0AH
INT 21H
CMP AL,0FFH
JZ EXIT
MOV AH,2
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
MOV DX,OFFSET BUF+2
;MOV DX,OFFSET CHAR
MOV BX,OFFSET ACTHAR
MOV BL,[BX]
ADD BX,DX
MOV BYTE PTR [BX],'$'
MOV AH,09H
INT 21H
EXIT:
MOV AX,4C00H
INT 21H
CODE ENDS
END START