#ifdef _MSC_VER #define C(entrypoint) entrypoint #define L(label) L##label #else #ifdef ASM_UNDERSCORE #define C(entrypoint) _##entrypoint #define L(label) L##label #else #define C(entrypoint) entrypoint #define L(label) .L##label #endif #endif #ifdef _MSC_VER #define INTEL_SYNTAX #else #ifdef ASM_UNDERSCORE #define BSD_SYNTAX #else #define ELF_SYNTAX #endif #endif #if defined (BSD_SYNTAX) || defined (ELF_SYNTAX) #define R(r) %r #define NUM(n) $##n #define ADDR(a) $##a #define X1 #define X2 #define X4 #define X8 #define MEM(base)(R(base)) #define MEM_DISP(base,displacement)displacement(R(base)) #define MEM_INDEX(base,index)(R(base),R(index)) #define MEM_SHINDEX(base,index,size)(R(base),R(index),size) #define MEM_DISP_SHINDEX0(displacement,index,size)displacement(,R(index),size) #define MEM_DISP_SHINDEX(base,displacement,index,size)displacement(R(base),R(index),size) #define INDIR(value)*value #define INSNCONC(mnemonic,size_suffix)mnemonic##size_suffix #define INSN1(mnemonic,size_suffix,dst)INSNCONC(mnemonic,size_suffix) dst #define INSN2(mnemonic,size_suffix,src,dst)INSNCONC(mnemonic,size_suffix) src,dst #define INSN2MOVX(mnemonic,size_suffix,src,dst)INSNCONC(mnemonic,size_suffix##l) src,dst #if defined(BSD_SYNTAX) || defined(COHERENT) #define INSN2SHCL(mnemonic,size_suffix,src,dst)INSNCONC(mnemonic,size_suffix) R(cl),src,dst #define REPZ repe ; #else #define INSN2SHCL(mnemonic,size_suffix,src,dst)INSNCONC(mnemonic,size_suffix) src,dst #define REPZ repz ; #endif #define REP rep ; #if defined(BSD_SYNTAX) && !(defined(__CYGWIN32__) || defined(__MINGW32__)) #define ALIGN(log) .align log,0x90 #endif #if defined(ELF_SYNTAX) || defined(__CYGWIN32__) || defined(__MINGW32__) #define ALIGN(log) .align 1<