【发布时间】:2011-05-20 20:45:37
【问题描述】:
我想知道是否有比我目前计划做的更有效的方法来在程序集中查找子字符串。
我知道字符串指令“scansb/scasw/scads”可以将 EAX 中的值与 EDI 寻址的值进行比较。但是,据我了解,使用此方法一次只能搜索一个字符。
所以,如果我想在字符串“pleasehelpme”中找到“help”的位置,我可以使用scansb 找到h 的偏移量,然后跳转到另一个比较余数的函数。如果余数不正确,我会跳回 scansb 并再次尝试搜索,这次是在上一个偏移标记之后。
但是,我不想这样做,然后发现有一种更有效的方法。有什么建议吗?提前致谢
【问题讨论】:
-
我怀疑是否有更好的方法。您可能想在 AOA 中查看此实现,但它似乎是相同的:maven.smith.edu/~thiebaut/ArtOfAssembly/CH15/…
标签: algorithm string assembly x86 nasm