#include <stdio.h>
void swap( int & p, int & q) {
int temp;
temp = p;
p = q;
q = temp;
}
void swap_asm( int & p, int & q) {
__asm{
mov eax, p
mov ebx, q
mov q, eax
mov p, ebx
} ;
}
int main( ) {
int p, q;
p = 2 ;
q = 3 ;
/*__asm{
mov eax, p
mov ebx, q
mov q, eax
mov p, ebx
};*/
swap_asm( p, q) ;
printf ( "p = %d, q = %d" , p, q) ;
scanf ( "%d" , & p) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHN3YXAoaW50ICZwLCBpbnQgJnEpewoJaW50IHRlbXA7Cgl0ZW1wID0gcDsKCXAgPSBxOwoJcSA9IHRlbXA7Cn0KCnZvaWQgc3dhcF9hc20oaW50ICZwLCBpbnQgJnEpewoJX19hc217CgkJbW92IGVheCwgcAoJCW1vdiBlYngsIHEKCQltb3YgcSwgZWF4CgkJbW92IHAsIGVieAoJfTsKfQoKaW50IG1haW4oKXsKCWludCBwLCBxOwoJCglwID0gMjsKCXEgPSAzOwoJLypfX2FzbXsKCQltb3YgZWF4LCBwCgkJbW92IGVieCwgcQoJCW1vdiBxLCBlYXgKCQltb3YgcCwgZWJ4Cgl9OyovCgoJc3dhcF9hc20ocCwgcSk7CgoJCglwcmludGYoInAgPSAlZCwgcSA9ICVkIiwgcCwgcSk7CglzY2FuZigiJWQiLCAmcCk7CglyZXR1cm4gMDsKfQ==
compilation info
prog.cpp: In function 'void swap_asm(int&, int&)':
prog.cpp:11:7: error: expected '(' before '{' token
__asm{
^
prog.cpp:12:3: error: 'mov' was not declared in this scope
mov eax, p
^
stdout