使用宏定义虽然也可以,总是觉得不方便。吾一直想,最好提供一个交换指令,然后直接定义一个函数供调用。
以下代码没有经过测试,请自行验证。
WINDOWS int x=1, y=200; _asm { push x; push y; pop x; pop y; } printf("x=%d, y=%d\n", x, y);
LINUX
int x=1, y=200; asm( "push x\n\t" "push y\n\t" "pop x\n\t" "pop y\n\t" ); printf("x=%d, y=%d\n", x, y);