Why my inline assembler doesnt work?
May be i have missed something about functions or smth else?
VS 2010.
Here is my code:

    #include <iostream>

    void swap (int& a, int& b)
    {
	__asm push a
	__asm push b
	__asm pop a
	__asm pop b
	std::cout << "Inline function check: a=" << a << " b=" << b << "\n\n";
    }
    void main()
    {
	int arg1=1, arg2=9000;
	std::cout << "Before swap we have: a=" << arg1 << " b=" << arg2 << "\n\n";
	swap(arg1, arg2);
	std::cout << "After swap we have: a=" << arg1 << " b=" << arg2;
	std::cin.get();
    }
Why my inline assembler doesnt work?
===

May be i have missed something about functions or smth else?
VS 2010.
Here is my code:

    #include <iostream>

    void swap (int& a, int& b)
    {
	__asm push a
	__asm push b
	__asm pop a
	__asm pop b
	std::cout << "Inline function check: a=" << a << " b=" << b << "\n\n";
    }
    void main()
    {
	int arg1=1, arg2=9000;
	std::cout << "Before swap we have: a=" << arg1 << " b=" << arg2 << "\n\n";
	swap(arg1, arg2);
	std::cout << "After swap we have: a=" << arg1 << " b=" << arg2;
	std::cin.get();
    }