It means move the "contents" of this address into the register (instead of the value of the address itself).
Thanks for the reply! So if I understand you correctly, using the braces means to grab the value, whereas without the braces says to get the address? If that's so, why is it that the following code outputs the same thing?
// C++ w/ inline ASM
int x = 18, y = 0;
; Without braces
mov eax, x ; Move '18' into EAX
mov y, eax ; Move EAX (18) into Y
cout << "Without braces: \n" << y << endl; // 18
y = 0;
; With braces
mov eax, [x] ; Move the ?address? of x into EAX
mov y, eax ; Move EAX (address of x?) into Y
cout << "With braces: \n" << y << endl;