📄 assyntax.h
字号:
#define XOR_L(a, b) xor L_(b), L_(a)#define XOR_W(a, b) xor W_(b), W_(a)#define XOR_B(a, b) xor B_(b), B_(a)/* Floating Point Instructions */#define F2XM1 f2xm1#define FABS fabs#define FADD_D(a) fadd D_(a)#define FADD_S(a) fadd S_(a)#define FADD2(a, b) fadd b, a#define FADDP(a, b) faddp b, a#define FIADD_L(a) fiadd L_(a)#define FIADD_W(a) fiadd W_(a)#define FBLD(a) fbld a#define FBSTP(a) fbstp a#define FCHS fchs#define FCLEX fclex#define FNCLEX fnclex#define FCOM(a) fcom a#define FCOM_D(a) fcom D_(a)#define FCOM_S(a) fcom S_(a)#define FCOMP(a) fcomp a#define FCOMP_D(a) fcomp D_(a)#define FCOMP_S(a) fcomp S_(a)#define FCOMPP fcompp#define FCOS fcos#define FDECSTP fdecstp#define FDIV_D(a) fdiv D_(a)#define FDIV_S(a) fdiv S_(a)#define FDIV2(a, b) fdiv b, a#define FDIVP(a, b) fdivp b, a#define FIDIV_L(a) fidiv L_(a)#define FIDIV_W(a) fidiv W_(a)#define FDIVR_D(a) fdivr D_(a)#define FDIVR_S(a) fdivr S_(a)#define FDIVR2(a, b) fdivr b, a#define FDIVRP(a, b) fdivrp b, a#define FIDIVR_L(a) fidivr L_(a)#define FIDIVR_W(a) fidivr W_(a)#define FFREE(a) ffree a#define FICOM_L(a) ficom L_(a)#define FICOM_W(a) ficom W_(a)#define FICOMP_L(a) ficomp L_(a)#define FICOMP_W(a) ficomp W_(a)#define FILD_Q(a) fild D_(a)#define FILD_L(a) fild L_(a)#define FILD_W(a) fild W_(a)#define FINCSTP fincstp#define FINIT finit#define FNINIT fninit#define FIST_L(a) fist L_(a)#define FIST_W(a) fist W_(a)#define FISTP_Q(a) fistp D_(a)#define FISTP_L(a) fistp L_(a)#define FISTP_W(a) fistp W_(a)#define FLD_X(a) fld X_(a)#define FLD_D(a) fld D_(a)#define FLD_S(a) fld S_(a)#define FLD1 fld1#define FLDL2T fldl2t#define FLDL2E fldl2e#define FLDPI fldpi#define FLDLG2 fldlg2#define FLDLN2 fldln2#define FLDZ fldz#define FLDCW(a) fldcw a#define FLDENV(a) fldenv a#define FMUL_S(a) fmul S_(a)#define FMUL_D(a) fmul D_(a)#define FMUL2(a, b) fmul b, a#define FMULP(a, b) fmulp b, a#define FIMUL_L(a) fimul L_(a)#define FIMUL_W(a) fimul W_(a)#define FNOP fnop#define FPATAN fpatan#define FPREM fprem#define FPREM1 fprem1#define FPTAN fptan#define FRNDINT frndint#define FRSTOR(a) frstor a#define FSAVE(a) fsave a#define FNSAVE(a) fnsave a#define FSCALE fscale#define FSIN fsin#define FSINCOS fsincos#define FSQRT fsqrt#define FST_D(a) fst D_(a)#define FST_S(a) fst S_(a)#define FSTP_X(a) fstp X_(a)#define FSTP_D(a) fstp D_(a)#define FSTP_S(a) fstp S_(a)#define FSTP(a) fstp a#define FSTCW(a) fstcw a#define FNSTCW(a) fnstcw a#define FSTENV(a) fstenv a#define FNSTENV(a) fnstenv a#define FSTSW(a) fstsw a#define FNSTSW(a) fnstsw a#define FSUB_S(a) fsub S_(a)#define FSUB_D(a) fsub D_(a)#define FSUB2(a, b) fsub b, a#define FSUBP(a, b) fsubp b, a#define FISUB_L(a) fisub L_(a)#define FISUB_W(a) fisub W_(a)#define FSUBR_S(a) fsubr S_(a)#define FSUBR_D(a) fsubr D_(a)#define FSUBR2(a, b) fsubr b, a#define FSUBRP(a, b) fsubrp b, a#define FISUBR_L(a) fisubr L_(a)#define FISUBR_W(a) fisubr W_(a)#define FTST ftst#define FUCOM(a) fucom a#define FUCOMP(a) fucomp a#define FUCOMPP fucompp#define FWAIT fwait#define FXAM fxam#define FXCH(a) fxch a#define FXTRACT fxtract#define FYL2X fyl2x#define FYL2XP1 fyl2xp1#endif /* NASM_ASSEMBLER, MASM_ASSEMBLER */ /****************************************/ /* */ /* Extensions to x86 insn set - */ /* MMX, 3DNow! */ /* */ /****************************************/#if defined(NASM_ASSEMBLER) || defined(MASM_ASSEMBLER)#define P_ARG1(a) P_ ## a#define P_ARG2(a, b) P_ ## b, P_ ## a#define P_ARG3(a, b, c) P_ ## c, P_ ## b, P_ ## a#else#define P_ARG1(a) a#define P_ARG2(a, b) a, b#define P_ARG3(a, b, c) a, b, c#endif/* MMX */#define MOVD(a, b) movd P_ARG2(a, b)#define MOVQ(a, b) movq P_ARG2(a, b)#define PADDB(a, b) paddb P_ARG2(a, b)#define PADDW(a, b) paddw P_ARG2(a, b)#define PADDD(a, b) paddd P_ARG2(a, b)#define PADDSB(a, b) paddsb P_ARG2(a, b)#define PADDSW(a, b) paddsw P_ARG2(a, b)#define PADDUSB(a, b) paddusb P_ARG2(a, b)#define PADDUSW(a, b) paddusw P_ARG2(a, b)#define PSUBB(a, b) psubb P_ARG2(a, b)#define PSUBW(a, b) psubw P_ARG2(a, b)#define PSUBD(a, b) psubd P_ARG2(a, b)#define PSUBSB(a, b) psubsb P_ARG2(a, b)#define PSUBSW(a, b) psubsw P_ARG2(a, b)#define PSUBUSB(a, b) psubusb P_ARG2(a, b)#define PSUBUSW(a, b) psubusw P_ARG2(a, b)#define PCMPEQB(a, b) pcmpeqb P_ARG2(a, b)#define PCMPEQW(a, b) pcmpeqw P_ARG2(a, b)#define PCMPEQD(a, b) pcmpeqd P_ARG2(a, b)#define PCMPGTB(a, b) pcmpgtb P_ARG2(a, b)#define PCMPGTW(a, b) pcmpgtw P_ARG2(a, b)#define PCMPGTD(a, b) pcmpgtd P_ARG2(a, b)#define PMULHW(a, b) pmulhw P_ARG2(a, b)#define PMULLW(a, b) pmullw P_ARG2(a, b)#define PMADDWD(a, b) pmaddwd P_ARG2(a, b)#define PAND(a, b) pand P_ARG2(a, b)#define PANDN(a, b) pandn P_ARG2(a, b)#define POR(a, b) por P_ARG2(a, b)#define PXOR(a, b) pxor P_ARG2(a, b)#define PSRAW(a, b) psraw P_ARG2(a, b)#define PSRAD(a, b) psrad P_ARG2(a, b)#define PSRLW(a, b) psrlw P_ARG2(a, b)#define PSRLD(a, b) psrld P_ARG2(a, b)#define PSRLQ(a, b) psrlq P_ARG2(a, b)#define PSLLW(a, b) psllw P_ARG2(a, b)#define PSLLD(a, b) pslld P_ARG2(a, b)#define PSLLQ(a, b) psllq P_ARG2(a, b)#define PACKSSWB(a, b) packsswb P_ARG2(a, b)#define PACKSSDW(a, b) packssdw P_ARG2(a, b)#define PACKUSWB(a, b) packuswb P_ARG2(a, b)#define PUNPCKHBW(a, b) punpckhbw P_ARG2(a, b)#define PUNPCKHWD(a, b) punpckhwd P_ARG2(a, b)#define PUNPCKHDQ(a, b) punpckhdq P_ARG2(a, b)#define PUNPCKLBW(a, b) punpcklbw P_ARG2(a, b)#define PUNPCKLWD(a, b) punpcklwd P_ARG2(a, b)#define PUNPCKLDQ(a, b) punpckldq P_ARG2(a, b)#define EMMS emms/* AMD 3DNow! */#define PAVGUSB(a, b) pavgusb P_ARG2(a, b)#define PFADD(a, b) pfadd P_ARG2(a, b)#define PFSUB(a, b) pfsub P_ARG2(a, b)#define PFSUBR(a, b) pfsubr P_ARG2(a, b)#define PFACC(a, b) pfacc P_ARG2(a, b)#define PFCMPGE(a, b) pfcmpge P_ARG2(a, b)#define PFCMPGT(a, b) pfcmpgt P_ARG2(a, b)#define PFCMPEQ(a, b) pfcmpeq P_ARG2(a, b)#define PFMIN(a, b) pfmin P_ARG2(a, b)#define PFMAX(a, b) pfmax P_ARG2(a, b)#define PI2FD(a, b) pi2fd P_ARG2(a, b)#define PF2ID(a, b) pf2id P_ARG2(a, b)#define PFRCP(a, b) pfrcp P_ARG2(a, b)#define PFRSQRT(a, b) pfrsqrt P_ARG2(a, b)#define PFMUL(a, b) pfmul P_ARG2(a, b)#define PFRCPIT1(a, b) pfrcpit1 P_ARG2(a, b)#define PFRSQIT1(a, b) pfrsqit1 P_ARG2(a, b)#define PFRCPIT2(a, b) pfrcpit2 P_ARG2(a, b)#define PMULHRW(a, b) pmulhrw P_ARG2(a, b)#define FEMMS femms#define PREFETCH(a) prefetch P_ARG1(a)#define PREFETCHW(a) prefetchw P_ARG1(a)/* Intel SSE */#define ADDPS(a, b) addps P_ARG2(a, b)#define ADDSS(a, b) addss P_ARG2(a, b)#define ANDNPS(a, b) andnps P_ARG2(a, b)#define ANDPS(a, b) andps P_ARG2(a, b)/* NASM only knows the pseudo ops for these.#define CMPPS(a, b, c) cmpps P_ARG3(a, b, c)#define CMPSS(a, b, c) cmpss P_ARG3(a, b, c)*/#define CMPEQPS(a, b) cmpeqps P_ARG2(a, b)#define CMPLTPS(a, b) cmpltps P_ARG2(a, b)#define CMPLEPS(a, b) cmpleps P_ARG2(a, b)#define CMPUNORDPS(a, b) cmpunordps P_ARG2(a, b)#define CMPNEQPS(a, b) cmpneqps P_ARG2(a, b)#define CMPNLTPS(a, b) cmpnltps P_ARG2(a, b)#define CMPNLEPS(a, b) cmpnleps P_ARG2(a, b)#define CMPORDPS(a, b) cmpordps P_ARG2(a, b)#define CMPEQSS(a, b) cmpeqss P_ARG2(a, b)#define CMPLTSS(a, b) cmpltss P_ARG2(a, b)#define CMPLESS(a, b) cmpless P_ARG2(a, b)#define CMPUNORDSS(a, b) cmpunordss P_ARG2(a, b)#define CMPNEQSS(a, b) cmpneqss P_ARG2(a, b)#define CMPNLTSS(a, b) cmpnltss P_ARG2(a, b)#define CMPNLESS(a, b) cmpnless P_ARG2(a, b)#define CMPORDSS(a, b) cmpordss P_ARG2(a, b)#define COMISS(a, b) comiss P_ARG2(a, b)#define CVTPI2PS(a, b) cvtpi2ps P_ARG2(a, b)#define CVTPS2PI(a, b) cvtps2pi P_ARG2(a, b)#define CVTSI2SS(a, b) cvtsi2ss P_ARG2(a, b)#define CVTSS2SI(a, b) cvtss2si P_ARG2(a, b)#define CVTTPS2PI(a, b) cvttps2pi P_ARG2(a, b)#define CVTTSS2SI(a, b) cvttss2si P_ARG2(a, b)#define DIVPS(a, b) divps P_ARG2(a, b)#define DIVSS(a, b) divss P_ARG2(a, b)#define FXRSTOR(a) fxrstor P_ARG1(a)#define FXSAVE(a) fxsave P_ARG1(a)#define LDMXCSR(a) ldmxcsr P_ARG1(a)#define MAXPS(a, b) maxps P_ARG2(a, b)#define MAXSS(a, b) maxss P_ARG2(a, b)#define MINPS(a, b) minps P_ARG2(a, b)#define MINSS(a, b) minss P_ARG2(a, b)#define MOVAPS(a, b) movaps P_ARG2(a, b)#define MOVHLPS(a, b) movhlps P_ARG2(a, b)#define MOVHPS(a, b) movhps P_ARG2(a, b)#define MOVLHPS(a, b) movlhps P_ARG2(a, b)#define MOVLPS(a, b) movlps P_ARG2(a, b)#define MOVMSKPS(a, b) movmskps P_ARG2(a, b)#define MOVNTPS(a, b) movntps P_ARG2(a, b)#define MOVNTQ(a, b) movntq P_ARG2(a, b)#define MOVSS(a, b) movss P_ARG2(a, b)#define MOVUPS(a, b) movups P_ARG2(a, b)#define MULPS(a, b) mulps P_ARG2(a, b)#define MULSS(a, b) mulss P_ARG2(a, b)#define ORPS(a, b) orps P_ARG2(a, b)#define RCPPS(a, b) rcpps P_ARG2(a, b)#define RCPSS(a, b) rcpss P_ARG2(a, b)#define RSQRTPS(a, b) rsqrtps P_ARG2(a, b)#define RSQRTSS(a, b) rsqrtss P_ARG2(a, b)#define SHUFPS(a, b, c) shufps P_ARG3(a, b, c)#define SQRTPS(a, b) sqrtps P_ARG2(a, b)#define SQRTSS(a, b) sqrtss P_ARG2(a, b)#define STMXCSR(a) stmxcsr P_ARG1(a)#define SUBPS(a, b) subps P_ARG2(a, b)#define UCOMISS(a, b) ucomiss P_ARG2(a, b)#define UNPCKHPS(a, b) unpckhps P_ARG2(a, b)#define UNPCKLPS(a, b) unpcklps P_ARG2(a, b)#define XORPS(a, b) xorps P_ARG2(a, b)#define PREFETCHNTA(a) prefetchnta P_ARG1(a)#define PREFETCHT0(a) prefetcht0 P_ARG1(a)#define PREFETCHT1(a) prefetcht1 P_ARG1(a)#define PREFETCHT2(a) prefetcht2 P_ARG1(a)#define SFENCE sfence/* Added by BrianP for FreeBSD (per David Dawes) */#if !defined(NASM_ASSEMBLER) && !defined(MASM_ASSEMBLER) && !defined(__bsdi__)#define LLBL(a) CONCAT(.L,a)#define LLBL2(a,b) CONCAT3(.L,a,b)#else#define LLBL(a) a#define LLBL2(a,b) CONCAT(a,b)#endif/* Segment overrides */#define SEGCS D_BYTE 46#define SEGDS D_BYTE 62#define SEGES D_BYTE 38#define SEGFS D_BYTE 100#define SEGGS D_BYTE 101/* Temporary labels: valid until next non-local label */#ifdef NASM_ASSEMBLER#define TLBL(a) CONCAT(.,a)#else#define TLBL(a) CONCAT(a,$)#endif/* Hidden symbol visibility support. * If we build with gcc's -fvisibility=hidden flag, we'll need to change * the symbol visibility mode to 'default'. */#if defined(GNU_ASSEMBLER) && !defined(__DJGPP__) && !defined(__MINGW32__)# define HIDDEN(x) .hidden x#elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303 && !defined(__DJGPP__) && !defined(__MINGW32__)# pragma GCC visibility push(default)# define HIDDEN(x) .hidden x#else# define HIDDEN(x)#endif#endif /* __ASSYNTAX_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -