Originally Posted by
anonytmouse
Yes. This is the optimized assembly that MSVC7 produces:
Code:
mov eax, DWORD PTR _str$[esp+60] // eax = str.size_member_variable
inc ebp // ebp(idx)++
cmp ebp, eax // if (ebp != eax)
jne SHORT $L8528 // goto $L8528
Yes, that's similar to the code from my MSVC6, but I'm not familiar with that assembly language. I'm trying to understand the command
Code:
mov eax, DWORD PTR _str$[esp+60]
I understand that this is copying from memory into register eax.
I believe that DWORD PTR just indicates that the value being copied is a double word (i.e. 32 bits), right?
And [esp+60] gets the value stored at memory address esp+60 where esp is an address stored in register esp, correct?
But what's the meaning of the "_str$"?