Я пытаюсь найти индекс строки в массиве строк.Я знаю базовый адрес массива, теперь я хочу сделать что-то вроде следующего:
- Укажите ESI на запись в массиве
- Укажите EDI на строку, в которой мы находимсяпоиск в массиве
- cmps байт ptr ds: [esi], pter 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?строка, которую я ищу?
Я программирую в Visual Studio C ++ Express Edition 2010 на Win XP SP3.