?? 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 + -