Тема: VC++ inline assembler, як передати масив в функцію?
Хай. От є масив, створенний за допомогою с++
int main()
{
int arr[] = { 5, 4, 7, 8, 9, 5, 1, 2, 3 };
unsigned int length = sizeof(arr) / sizeof(arr[0]);
int j;
j = secondTask(arr, length);
printf("%d\n", j);
_getch();
}
Він має передаватись в метод, в котрому є ассемблерна вставка, і от тре в тому методі прийняти масив та обробити його якось.
int secondTask(int *arr, int length)
{
__asm {
mov eax, arr[TYPE arr * 0]
}
}
Мені виводить якесь ліве число, що свідчить про те, що я звертаюсь до невірної ділянки пам'яті.
Я вже і так пробував, і так. Але все одно не хоче воно працювати. Хоча якщо вставити код ассемблеру в методі main, і звертатись до масиву, то все окідокі.