| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 679 人关注过本帖
标题:请求问题,不知道哪错了
只看楼主 加入收藏
sumddzx
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-30
收藏
 问题点数:0 回复次数:1 
请求问题,不知道哪错了
1、目的:查找匹配字符串
2、要求:程序接收键入的一个关键字和一个句子,若句子中不包含关键字,则显示‘NO MATCH’;若句子包含关键字则显示‘MATCH’,并把该关键字在句子中的位置用十六进制数显示出来。
我是新手。我弄了一个程序(如下),不知道哪不对。得不出结果啊。希望大家帮我斧正。或者重新弄一个,谢谢。
data segment
mess1 db 'Enter keyword:','$'
mess2 db 'Enter Sentence:','$'
mess3 db 'Match at location:','$'
mess4 db 'H of the sentence.','$'
mess5 db 'No match!',13,10,'$'
str1 db 50,0,50 dup(?) ,13,10,24h
str2 db 255,0,255 dup(?),13,10,24h
cr db 13,10,24h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov dx,offset mess1
call prompt
mov dx,offset str1
mov ah,0ah
int 21h
cmp str1+ 1,0
je quit
mov dx,offset cr
call prompt
b1:
mov dx,offset mess2
mov ah,9
int 21h
mov dx,offset str2
mov ah,0ah
int 21h
mov dx,offset cr
call prompt
mov dl,Str2 + 1
cmp dl,0
je quit
mov dh,str1+ 1
mov di,offset Str2 + 2

compare:
cmp dh,dl
ja nexit
mov si,offset str1 + 2
mov cl,dh
mov ch,0
cld
push di
repe cmpsb
pop di
je exit
inc di
dec dl
jmp compare
quit:mov ah,4ch
int 21h
prompt proc
mov ah,9
int 21h
ret
prompt endp
exit proc
mov ax,di
sub ax,offset Str2+ 2
inc ax
push ax
mov dx,offset mess3
call prompt
pop ax
mov dx,offset mess4
call prompt
jmp b1
ret
exit endp
Nexit proc
lea dx,mess5
call prompt
ret
Nexit endp
code ends
end start
搜索更多相关主题的帖子: 请求 
2005-11-30 22:17
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
收藏
得分:0 
我仔细检查了一下发现 串比较的时候该用的是 repne指令
因为不相等才结束嘛 相等结束什么
没有定义堆栈也是错误之一吧。
你用了pop指令嘛

但是还是没有成功。

呵呵,我也是初学者。大家讨论讨论
我发现的错误
pop di
je exit
inc di
dec dl
jmp compare
这一段写的很怪但是没有什么明显的错误。呵呵

http://kongfuziandlife. http://codeanddesign.
2005-12-01 13:57
快速回复:请求问题,不知道哪错了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019787 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved