【发布时间】:2012-02-25 04:50:25
【问题描述】:
我正在尝试在字符串数组中查找字符串的索引。我知道数组的基地址,现在我想做的是如下所示:
- 将 ESI 指向数组中的条目
- 将 EDI 指向我们在数组中搜索的字符串
- cmps byte ptr ds:[esi], byte ptr es:[edi] 每次比较 esi 和 edi 一个字节。
但是,我对如何将 EDI 寄存器指向我正在搜索的字符串感到困惑?
int main(int argc, char *argv[])
{
char entry[]="apple";
__asm
{
mov esi, entry
mov edi, [ebx] //ebx has base address of the array
等等。
那么,将我的 esi 寄存器指向我正在搜索的字符串的正确方法是什么?
我正在使用 Win XP SP3 上的 Visual Studio C++ Express Edition 2010 进行编程。
【问题讨论】: