| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1317 人关注过本帖
标题:关于scasb指令
只看楼主 加入收藏
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
结帖率:78.95%
收藏
已结贴  问题点数:20 回复次数:6 
关于scasb指令
我用delphi写了一段查找字符位置的内联汇编代码,如下:
程序代码:
function CharPos(src:char; str:pchar):Integer;
var
    n:Integer;
Label
    Find,NotFind;
begin
    n:=Length(str);
    asm
        cld;
        lea edi, str;
        mov al,src;
        mov ecx,n;
        repnz scasb;
        jz Find;
        mov result,-1;
        jmp NotFind;
Find:
        mov result,ecx;
NotFind:
    end;
end;
调用:
i:=CharPos('e', 'hello word');
    ShowMessage(IntToStr(i));
结果却返回-1,请问问题出在哪了?

搜索更多相关主题的帖子: scasb 指令 
2010-09-24 16:21
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:10 
1、
lea edi,str  应为 mov edi,str

2、
mov result, ecx
应为
mov eax,n
sub eax,ecx
mov result,eax  //或不写也行


举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-24 17:28
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
以下是引用东海一鱼在2010-9-24 17:28:35的发言:

1、
lea edi,str  应为 mov edi,str

2、
mov result, ecx
应为
mov eax,n
sub eax,ecx
mov result,eax  //或不写也行

东海大大真牛啊 呵呵
2010-09-24 17:34
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
明白了,如果没有理解错的话应该是不要再取地址了,本身就是地址了。
谢谢东海大仙,哈哈。。。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-09-24 17:45
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
以下是引用ioriliao在2010-9-24 17:45:54的发言:

明白了,如果没有理解错的话应该是不要再取地址了,本身就是地址了。
谢谢东海大仙,哈哈。。。
   孺子可教也!

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-24 17:48
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
以下是引用zklhp在2010-9-24 17:34:43的发言:


东海大大真牛啊 呵呵
   可别,折杀小生也。
   去年刚玩儿win32asm时,全仰仗您及诸位同好指点。再次感谢。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-24 17:50
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
回复 5楼 东海一鱼
呵呵。。。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-09-24 17:52
快速回复:关于scasb指令
数据加载中...
 
   



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

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