汇编字符串输出的程序问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 00:37:44
关于键盘接收字符串的程序应该怎样编写啊?
即:程序运行后,在屏幕上接收键盘输入的字符串,然后存如某个指定的内存单元里

用10号功能调用啦!
dseg segment
buff db 10,?,10 dup(?)
dseg ends
cseg segment
assume ds:dseg,cs:cseg
begin: mov ax,dseg
mov ds,ax
lea dx,buff
mov ah,10
int 21h
mov ah,4ch
int 21h
cseg ends
end begin

buff定义的第一个是缓冲区的总大小,第二个是真正输入的字符个数,从第三个开始存放输入的内容。
那么这个程序就最多输入10个字符,要是想输入更多,把buff改得大一些就行了。

用DOS功能调用就比较简单,如果不是DOS下的程序的话。就比较复杂,但是WINDOWS下也是可以用系统函数的。
BUFFER是一个缓冲区,第一字节是缓冲区的大小,函数返回输入字符串的大小在第2字节,如果输入的字符太多,程序不会正常执行。
MOV DX,OFFSET BUFFER
MOV AH,0AH
INT 21H