Reputation: 31
I don't know how to access a stl vector in x86. I have tried to do it like that but I have some errors.
mov ebx, stl_vector
mov eax, [ebx] ;Here I want to store the first element of the vector
mov edx, [ebx + 4] ; I want to store the second element of the vector
I want to do the same in SSE language.
Thank you in advance!
Upvotes: 0
Views: 3462
Reputation: 58762
stl vectors are objects. Unless you know the exact class layout you can't access them directly. You should probably pass a pointer to the array and a size separately to your assembly function, e.g. asm(vector.data(), vector.size())
so the compiler takes care of the c++ stuff.
Upvotes: 4