注册 登录
编程论坛 汇编论坛

[求助]怎么变成才能达到输入几个字符就显示几个字符的要求?

leiting 发布于 2006-11-26 02:32, 617 次点击
题目要求:在屏幕上输入几个字符然后显示出来,我只能在程序里面预设输入几个字符才能在屏幕上输入,不能达到输入几个就显示几个的要求,我的程序如下:
data segment
string db 100
db 0
db 100 dup(?)
data ends
stack segment
stt db 100 dup(?)
stack ends
code segment
assume ds:data,cs:code,ss:stack
start:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov dx,offset string
mov ah,0AH
int 21H
mov ax,24H
mov [si+10],ax
mov ah,9
int 21H
mov ah,4cH
int 21H
code ends
end start
3 回复
#2
wchx2152006-11-26 05:36
楼主的程序中si代表什么呀,还有定义了堆栈最好在mov ss,ax后补上mov sp,100
只要在运行完 mov dx,offset string
mov ah,0AH
int 21H
即输入字符后,加一句mov cl,string+1(取输入的实际字符个数)就可以了,然后把这些字符串放入另外一串定义的存储单元中,在最后加一个'$'然后用9号功能。
我不明白 mov ax,24H
mov [si+10],ax
mov ah,9
int 21H
是什么意思?
#3
srl99732006-11-30 15:29
data segment
string db 100
db 0
db 100 dup(?)
data ends
stack segment
stt db 100 dup(?)
stack ends
code segment
assume ds:data,cs:code,ss:stack
start:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov dx,offset string
mov ah,0AH
int 21H
mov bl,string+1
mov bh,0
mov al,24H
lea dx,string+2
mov string[bx+3],al
mov ah,9
int 21H
mov ah,4cH
int 21H
code ends
end start
#4
leiting2006-12-03 02:03
[原创]谢谢拉
谢谢两位高手哦..~ 我知道了~ 非常感谢
1