日期:2014-05-16  浏览次数:20694 次

关于__asm__ __volatile ( )的问题
__asm__   __volatile   ( "                 <-----L   241
            pushl   %%ebx
            pushfl
            popl   %%eax
            movl   %%eax,   %%ebx
            xorl   $0x200000,   %%eax
            pushl   %%eax
            popfl
            pushfl
            popl   %%eax
            xorl   %%ebx,   %%eax
            andl   $0x200000,   %%eax
            jz   jumphere
            xorl   %%eax,   %%eax
            cpuid
            or   %%eax,   %%eax
            jz   jumphere
            movl   $1,   %%eax
            cpuid
            movl   %%eax,   %%ecx
            andl   $0xf00,   %%ecx
            shrl   $8,   %%ecx
            movl   %%ecx,   %0
            movl   %%eax,   %%ecx
            andl   $0xf0,   %%ecx
            shrl   $4,   %%ecx
            movl   %%ecx,   %1
            movl   %%eax,   %%ecx
            andl   $0x0f,   %%ecx
            movl   %%ecx,   %2
            movl   %%edx,   %%eax
            andl   $0x800000,   %%eax
            jz   jumphere
            mov   $1,   %%eax
            mov   %%eax,   %3
    movl   %%edx,   %%eax
            and   $0x2000000,   %%eax
            mov   %%eax,   %4
    movl   %%edx,   %%eax
            and   $0x4000000,   %%eax
            mov   %%eax,   %5
jumphere:
            popl   %%ebx
"                                                                               <-------L   284
: "=m "   (family), "=m "   (model),   "=m "   (stepping),   "=m "   (has_mmx),   "=m "   (has_kni),   "=m