As far as I can tell, the only difference between __asm { ... }; and __asm__(\"...\"); is that the first uses mov eax, var and the sec
__asm { ... };
__asm__(\"...\");
mov eax, var
Which one you use depends on your compiler. This isn't standard like the C language.