Я пытаюсь найти индекс строки в массиве строк. Я знаю, что базовый адрес массива, теперь то, что я хочу сделать что-то, как показано ниже:Как использовать строку в C++ Inline Assembly code?
- точки 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 на строку, которую я ищу?
Я программирую в Visual Studio C++ Express Edition 2010 на Win XP SP3.