软考程序员辅导(2)
串匹配算法(C&assembly)
xor ebx, ebx
xor ecx, ecx
_While_:
cmp ebx, dword ptr[ls]
jge _EndWhile_ ;大于等于转移
cmp ecx, dword ptr[lp]
jge _EndWhile_ ;大于等于转移
_If_:
mov ah, byte ptr[edi+ebx]
mov al, byte ptr[esi+ecx]
cmp ah,al
jnz _Else_
;_If_
inc ebx
inc ecx
jmp _EndIf_
_Else_:
shl ecx, 2
mov ecx, dword ptr[edx+ecx]
cmp ecx, -1
jnz _EndIf_
inc ebx
inc ecx
_EndIf_:
jmp _While_
_EndWhile_:
_If2_:
cmp ebx, dword ptr[ls]
jge _Else2_
mov eax, ebx
sub eax, ecx
jmp _EndIf2_
_Else2_:
mov eax, -1
_EndIf2_:
pop edx
pop ecx
pop ebx
pop esi
pop edi
}
#endif
}
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/