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

[讨论]续 修改程序!

曾小 发布于 2006-12-03 15:55, 696 次点击

问题是这样的:
将student_name 中的空格用 " * "替换
dseg segment
student_name db 30 dup(' ')
dseg ends
cseg segment
assume cs:cseg,ds:dseg
start:
mov ax,dseg
mov ds,ax
mov si,-1
mov al,20H
mov cx,30
next:
inc si
cmp al,student_name[si]
loopz next
then: mov si,-1
mov al,' * '
inc si
mov student_name[si],al
loop then
mov ax,4c00H
int 21H
cseg ends
end start

我得不到.
还有就是我想从键盘上输入student_name字符串,再验证它是否是全空格.
我不会.
帮忙修改和改进我的程序.谢谢!

[此贴子已经被作者于2006-12-3 15:58:09编辑过]

8 回复
#2
菜鸟上路2006-12-04 12:43
LZ应该尽可能的自己解决
#3
曾小2006-12-13 12:49
我真的不会!
#4
菜鸟上路2006-12-13 13:29

dseg segment
student_name db 30 dup(' ')
dseg ends
cseg segment
assume cs:cseg,ds:dseg
start:
mov ax,dseg
mov ds,ax
mov si,0
mov al,' '
mov cx,30

then:
mov al,'*'
inc si
mov student_name[si],al
loop then

mov dx,offset student_name
mov ah,09h
int 21h

mov ax,4c00H
int 21H
cseg ends
end start

这证明了已经替换了空格

#5
曾小2006-12-17 14:53
如果要从键盘输入一串字符,再检验是否全是空格,若是则用*代替,否则退出.
要怎么把输入的字符串赋值给 student_name ?
#6
菜鸟上路2006-12-17 16:14
以下是引用曾小在2006-12-17 14:53:56的发言:
如果要从键盘输入一串字符,再检验是否全是空格,若是则用*代替,否则退出.
要怎么把输入的字符串赋值给 student_name ?
输入的字符串存放在 shuru db 30,?,30 dup(' ')中

而student_name db 30 dup(' ') 要得到shuru 中的内容,直接把shuru中的值一个一个赋给student_name就可以了
#7
曾小2006-12-17 18:44
只有这个方法吗?
感觉好麻烦啊!
#8
菜鸟上路2006-12-17 22:43
以下是引用曾小在2006-12-17 18:44:55的发言:
只有这个方法吗?
感觉好麻烦啊!

好象没其它方法了

#9
曾小2006-12-18 10:08
可不可以这样啊:
desg segment
hint db 'input a string:','$'
student_name db 30 duo (?)
dseg ends
.......
.......
mov dx,offset hint
int 21h
mov bx,dx
mov ax,[bx]
mov student_name,ax
......
1