| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 948 人关注过本帖
标题:帮忙看看这段代码谢谢
只看楼主 加入收藏
病书生
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-11-8
收藏
 问题点数:0 回复次数:5 
帮忙看看这段代码谢谢
INCLUDE Irvine32.inc
.data
target BYTE "123ABC342432",0
source BYTE "ABC",0
.code
find PROC,
         sString:PTR BYTE,
         tString:PTR BYTE
         
         mov esi,sString
         mov edi,tString
         mov eax,1        //从第一个字符开始匹配     
      
          mov al,[esi]
          mov dl,[edi]
L1:         
          cmp al,0         //source字符串是否为空(或则到了末尾)?
          jne L2
          jmp L4
         
L2:         
          cmp dl,al        
          jne L3           //如两个字符相等,则比较下一个字符
          inc esi
          inc edi
          mov al,[esi]
          mov dl,[edi]         
          jmp L1        
         
L3:                        //不相等 target地址+1
          inc edi
          inc eax
          mov dl,[edi]
          jmp L1
L4:      
          ret

find ENDP
END  find

main PROC
INVOKE find,ADDR source,ADDR target
call WriteInt
call Crlf
exit
main ENDP
END main

在target字符串中找到source字符串并返回其位置,
也就是说我希望输出的值是 4
这段代码虽然很不完善 但是应该还是能出4,编译成功,执行报错.....
大家帮忙看看
搜索更多相关主题的帖子: 代码 
2008-07-16 17:04
magicroller
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-3-13
收藏
得分:0 
mov esi,sString
         mov edi,tString
好像没定义变量吧
去掉     end find
试试吧
2008-07-19 14:45
病书生
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-11-8
收藏
得分:0 
find PROC,
         sString:PTR BYTE,
         tString:PTR BYTE

INVOKE find,ADDR source,ADDR target
这里的sString就是source的地址,tString就是target的地址,不需要再定义了(如同C语言的 fun(int a,int b)一样,直接就能使用a,b了啊
2008-07-19 14:48
magicroller
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-3-13
收藏
得分:0 
我刚学   *86汇编  上论坛来和大家一起解决问题,,
所以 WIN32的 我还没看  不过暑假应该会看的
2008-07-19 15:12
病书生
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-11-8
收藏
得分:0 
~我是不是快了点...我直接看的 intel IA-32 第5版Kip R.Irvine 写的
2008-07-19 15:32
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
收藏
得分:0 
这个...大小写和命名方式,看得不习惯啊.
2008-07-19 21:00
快速回复:帮忙看看这段代码谢谢
数据加载中...
 
   



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

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