2011-03-01 09:50:59
__asm__ __volatitle__GCC 为 AT&T 汇编语言指令集。
由于介绍的文档一堆不做具体说明,以下只对linux 下fedora 13 下做具体应用解释。
直接上代码,用g++ 编译。
// 数据交换
void AsmSwap(int pData1, int pData2){
cout << "before swap: " << endl << "pData1: " << pData1 <<endl << "pData2: " << pData2 << endl;#if 0 int temp; __asm__ __volatile__("movl %1,%0":"=r"(temp): "r"(pData1)); __asm__ __volatile__("movl %1,%0":"=r"(pData1): "r"(pData2)); __asm__ __volatile__("movl %1,%0":"=r"(pData2): "r"(temp));#endif __asm__ __volatile__("movl %0,%