не сработал. объясни плз в чем причина
Причина в том, что синтаксис ассемблера тут ожидается AT&T'шный, а не видимо привычный вам Intel'овский.
C++ (Qt)
asm("mov $10,%0" : "=r"(x) );
Т.е.:
1) порядок операторов обратный к тому, который вы ожидаете.
2) Числа предваряются знаком доллара.