📄 s1.cpp
字号:
#include <iostream>
using namespace std;
extern "C" unsigned int Index_Kmp(char * pbyScrBuf,char *pbyDesBuf,unsigned int scrLen,unsigned int dqDesLen );
int main(void)
{
char buf[245],buf2[23];
cout << Index_Kmp(buf, buf2, 2,2);
}
unsigned int Index_Kmp(char * pbyScrBuf,char *pbyDesBuf,unsigned int scrLen,unsigned int dqDesLen )
{
unsigned int dwPos=scrLen;
asm("pushal");
asm("movl 0X8(%ebp),%edi");
asm("movl 0XC(%ebp),%esi");
asm("movl 0X10(%ebp),%ecx");
asm("xorl %eax,%eax");
asm("movb 0X14(%ebp),%ah");
asm("dec %ah");
asm("pushl %ebp");
asm("movl %esi,%ebp");
asm("cld");
asm("jmp *start_search");
asm("again:movl %ebp,%esi");
asm("movl %edx,%edi");
asm("movl %ebx,%ecx");
asm("start_search:lodsb");
asm("repne;scasb");
asm("jecxz no_found");
asm("movl %edi,%edx");
asm("movl %ecx,%ebx");
asm("movzbl %ah,%ecx");
asm("repe;cmpsb");
asm("jne again");
asm("movb %ah,%al");
asm("xorb %ah,%ah");
asm("subl %eax,%edi");
asm("popl %ebp");
asm("subl %edi,-8(%ebp)");
asm("jmp *ret_search");
asm("no_found:popl %ebp");
asm("movl $0XFFFFFFFF,-8(%ebp)");
asm("ret_search:popal");
return dwPos;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -