Я просто пытаюсь сравнить строки , одну в массиве и одну просто строку . Неравная ветвь работает несмотря на то, что первый символ равен.
Я планирую обойти весь массив в поисках равной строки, но не могу даже сравнить ее.
Если у вас есть какие-либо предложения, помощь или ресурсы, я был бы очень признателен за это. Я чувствую, что с любыми двумя строками, которые я пишу, я сталкиваюсь с ошибкой.
int main() {
string arr[] = {"a","b","c","d","e" };
string a= "a";
char d;
int test = 5;
int test2 = 10;
int index = 0;
__asm {
lea ebx,[arr]// Load address of the array into register ebx
lea si,a // Load address of string a into si
cmp [ebx],si // Compare a character from EBX to a character from si
je SAME // JUMP IF EQUAL
jne NOTSAME// jump if not equal
SAME:
mov test2,3
jmp DONE
NOTSAME:
mov test,2
jmp DONE
DONE:
mov index, 1
}
for (int x = 0; x < 5; x++) {
cout << arr[x] << endl;
}
cout << a << endl;
cout << test << endl;
cout << test2 << endl;
}