⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 insnsn.c

📁 nasm早期的源代码,比较简单是学习汇编和编译原理的好例子
💻 C
字号:
/* This file is auto-generated from insns.dat by insns.pl - don't edit it */

/* This file in included by names.c */

static const char * const insn_names[] = {
	"aaa",
	"aad",
	"aam",
	"aas",
	"adc",
	"add",
	"addpd",
	"addps",
	"addsd",
	"addss",
	"addsubpd",
	"addsubps",
	"and",
	"andnpd",
	"andnps",
	"andpd",
	"andps",
	"arpl",
	"bb0_reset",
	"bb1_reset",
	"blendpd",
	"blendps",
	"blendvpd",
	"blendvps",
	"bound",
	"bsf",
	"bsr",
	"bswap",
	"bt",
	"btc",
	"btr",
	"bts",
	"call",
	"cbw",
	"cdq",
	"cdqe",
	"clc",
	"cld",
	"clflush",
	"clgi",
	"cli",
	"clts",
	"cmc",
	"cmp",
	"cmpeqpd",
	"cmpeqps",
	"cmpeqsd",
	"cmpeqss",
	"cmplepd",
	"cmpleps",
	"cmplesd",
	"cmpless",
	"cmpltpd",
	"cmpltps",
	"cmpltsd",
	"cmpltss",
	"cmpneqpd",
	"cmpneqps",
	"cmpneqsd",
	"cmpneqss",
	"cmpnlepd",
	"cmpnleps",
	"cmpnlesd",
	"cmpnless",
	"cmpnltpd",
	"cmpnltps",
	"cmpnltsd",
	"cmpnltss",
	"cmpordpd",
	"cmpordps",
	"cmpordsd",
	"cmpordss",
	"cmppd",
	"cmpps",
	"cmpsb",
	"cmpsd",
	"cmpsq",
	"cmpss",
	"cmpsw",
	"cmpunordpd",
	"cmpunordps",
	"cmpunordsd",
	"cmpunordss",
	"cmpxchg",
	"cmpxchg16b",
	"cmpxchg486",
	"cmpxchg8b",
	"comisd",
	"comiss",
	"compd",
	"comps",
	"comsd",
	"comss",
	"cpuid",
	"cpu_read",
	"cpu_write",
	"cqo",
	"crc32",
	"cvtdq2pd",
	"cvtdq2ps",
	"cvtpd2dq",
	"cvtpd2pi",
	"cvtpd2ps",
	"cvtph2ps",
	"cvtpi2pd",
	"cvtpi2ps",
	"cvtps2dq",
	"cvtps2pd",
	"cvtps2ph",
	"cvtps2pi",
	"cvtsd2si",
	"cvtsd2ss",
	"cvtsi2sd",
	"cvtsi2ss",
	"cvtss2sd",
	"cvtss2si",
	"cvttpd2dq",
	"cvttpd2pi",
	"cvttps2dq",
	"cvttps2pi",
	"cvttsd2si",
	"cvttss2si",
	"cwd",
	"cwde",
	"daa",
	"das",
	"db",
	"dd",
	"dec",
	"div",
	"divpd",
	"divps",
	"divsd",
	"divss",
	"dmint",
	"do",
	"dppd",
	"dpps",
	"dq",
	"dt",
	"dw",
	"emms",
	"enter",
	"equ",
	"extractps",
	"extrq",
	"f2xm1",
	"fabs",
	"fadd",
	"faddp",
	"fbld",
	"fbstp",
	"fchs",
	"fclex",
	"fcmovb",
	"fcmovbe",
	"fcmove",
	"fcmovnb",
	"fcmovnbe",
	"fcmovne",
	"fcmovnu",
	"fcmovu",
	"fcom",
	"fcomi",
	"fcomip",
	"fcomp",
	"fcompp",
	"fcos",
	"fdecstp",
	"fdisi",
	"fdiv",
	"fdivp",
	"fdivr",
	"fdivrp",
	"femms",
	"feni",
	"ffree",
	"ffreep",
	"fiadd",
	"ficom",
	"ficomp",
	"fidiv",
	"fidivr",
	"fild",
	"fimul",
	"fincstp",
	"finit",
	"fist",
	"fistp",
	"fisttp",
	"fisub",
	"fisubr",
	"fld",
	"fld1",
	"fldcw",
	"fldenv",
	"fldl2e",
	"fldl2t",
	"fldlg2",
	"fldln2",
	"fldpi",
	"fldz",
	"fmaddpd",
	"fmaddps",
	"fmaddsd",
	"fmaddss",
	"fmnaddpd",
	"fmnaddps",
	"fmnaddsd",
	"fmnaddss",
	"fmnsubpd",
	"fmnsubps",
	"fmnsubsd",
	"fmnsubss",
	"fmsubpd",
	"fmsubps",
	"fmsubsd",
	"fmsubss",
	"fmul",
	"fmulp",
	"fnclex",
	"fndisi",
	"fneni",
	"fninit",
	"fnop",
	"fnsave",
	"fnstcw",
	"fnstenv",
	"fnstsw",
	"fpatan",
	"fprem",
	"fprem1",
	"fptan",
	"frczpd",
	"frczps",
	"frczsd",
	"frczss",
	"frndint",
	"frstor",
	"fsave",
	"fscale",
	"fsetpm",
	"fsin",
	"fsincos",
	"fsqrt",
	"fst",
	"fstcw",
	"fstenv",
	"fstp",
	"fstsw",
	"fsub",
	"fsubp",
	"fsubr",
	"fsubrp",
	"ftst",
	"fucom",
	"fucomi",
	"fucomip",
	"fucomp",
	"fucompp",
	"fwait",
	"fxam",
	"fxch",
	"fxrstor",
	"fxsave",
	"fxtract",
	"fyl2x",
	"fyl2xp1",
	"getsec",
	"haddpd",
	"haddps",
	"hint_nop0",
	"hint_nop1",
	"hint_nop10",
	"hint_nop11",
	"hint_nop12",
	"hint_nop13",
	"hint_nop14",
	"hint_nop15",
	"hint_nop16",
	"hint_nop17",
	"hint_nop18",
	"hint_nop19",
	"hint_nop2",
	"hint_nop20",
	"hint_nop21",
	"hint_nop22",
	"hint_nop23",
	"hint_nop24",
	"hint_nop25",
	"hint_nop26",
	"hint_nop27",
	"hint_nop28",
	"hint_nop29",
	"hint_nop3",
	"hint_nop30",
	"hint_nop31",
	"hint_nop32",
	"hint_nop33",
	"hint_nop34",
	"hint_nop35",
	"hint_nop36",
	"hint_nop37",
	"hint_nop38",
	"hint_nop39",
	"hint_nop4",
	"hint_nop40",
	"hint_nop41",
	"hint_nop42",
	"hint_nop43",
	"hint_nop44",
	"hint_nop45",
	"hint_nop46",
	"hint_nop47",
	"hint_nop48",
	"hint_nop49",
	"hint_nop5",
	"hint_nop50",
	"hint_nop51",
	"hint_nop52",
	"hint_nop53",
	"hint_nop54",
	"hint_nop55",
	"hint_nop56",
	"hint_nop57",
	"hint_nop58",
	"hint_nop59",
	"hint_nop6",
	"hint_nop60",
	"hint_nop61",
	"hint_nop62",
	"hint_nop63",
	"hint_nop7",
	"hint_nop8",
	"hint_nop9",
	"hlt",
	"hsubpd",
	"hsubps",
	"ibts",
	"icebp",
	"idiv",
	"imul",
	"in",
	"inc",
	"incbin",
	"insb",
	"insd",
	"insertps",
	"insertq",
	"insw",
	"int",
	"int01",
	"int03",
	"int1",
	"int3",
	"into",
	"invd",
	"invlpg",
	"invlpga",
	"iret",
	"iretd",
	"iretq",
	"iretw",
	"jcxz",
	"jecxz",
	"jmp",
	"jmpe",
	"jrcxz",
	"lahf",
	"lar",
	"lddqu",
	"ldmxcsr",
	"lds",
	"lea",
	"leave",
	"les",
	"lfence",
	"lfs",
	"lgdt",
	"lgs",
	"lidt",
	"lldt",
	"lmsw",
	"loadall",
	"loadall286",
	"lodsb",
	"lodsd",
	"lodsq",
	"lodsw",
	"loop",
	"loope",
	"loopne",
	"loopnz",
	"loopz",
	"lsl",
	"lss",
	"ltr",
	"lzcnt",
	"maskmovdqu",
	"maskmovq",
	"maxpd",
	"maxps",
	"maxsd",
	"maxss",
	"mfence",
	"minpd",
	"minps",
	"minsd",
	"minss",
	"monitor",
	"montmul",
	"mov",
	"movapd",
	"movaps",
	"movd",
	"movddup",
	"movdq2q",
	"movdqa",
	"movdqu",
	"movhlps",
	"movhpd",
	"movhps",
	"movlhps",
	"movlpd",
	"movlps",
	"movmskpd",
	"movmskps",
	"movntdq",
	"movntdqa",
	"movnti",
	"movntpd",
	"movntps",
	"movntq",
	"movntsd",
	"movntss",
	"movq",
	"movq2dq",
	"movsb",
	"movsd",
	"movshdup",
	"movsldup",
	"movsq",
	"movss",
	"movsw",
	"movsx",
	"movupd",
	"movups",
	"movzx",
	"mpsadbw",
	"mul",
	"mulpd",
	"mulps",
	"mulsd",
	"mulss",
	"mwait",
	"neg",
	"nop",
	"not",
	"or",
	"orpd",
	"orps",
	"out",
	"outsb",
	"outsd",
	"outsw",
	"pabsb",
	"pabsd",
	"pabsw",
	"packssdw",
	"packsswb",
	"packusdw",
	"packuswb",
	"paddb",
	"paddd",
	"paddq",
	"paddsb",
	"paddsiw",
	"paddsw",
	"paddusb",
	"paddusw",
	"paddw",
	"palignr",
	"pand",
	"pandn",
	"pause",
	"paveb",
	"pavgb",
	"pavgusb",
	"pavgw",
	"pblendvb",
	"pblendw",
	"pcmov",
	"pcmpeqb",
	"pcmpeqd",
	"pcmpeqq",
	"pcmpeqw",
	"pcmpestri",
	"pcmpestrm",
	"pcmpgtb",
	"pcmpgtd",
	"pcmpgtq",
	"pcmpgtw",
	"pcmpistri",
	"pcmpistrm",
	"pcomb",
	"pcomd",
	"pcomq",
	"pcomub",
	"pcomud",
	"pcomuq",
	"pcomuw",
	"pcomw",
	"pdistib",
	"permpd",
	"permps",
	"pextrb",
	"pextrd",
	"pextrq",
	"pextrw",
	"pf2id",
	"pf2iw",
	"pfacc",
	"pfadd",
	"pfcmpeq",
	"pfcmpge",
	"pfcmpgt",
	"pfmax",
	"pfmin",
	"pfmul",
	"pfnacc",
	"pfpnacc",
	"pfrcp",
	"pfrcpit1",
	"pfrcpit2",
	"pfrsqit1",
	"pfrsqrt",
	"pfsub",
	"pfsubr",
	"phaddbd",
	"phaddbq",
	"phaddbw",
	"phaddd",
	"phadddq",
	"phaddsw",
	"phaddubd",
	"phaddubq",
	"phaddubw",
	"phaddudq",
	"phadduwd",
	"phadduwq",
	"phaddw",
	"phaddwd",
	"phaddwq",
	"phminposuw",
	"phsubbw",
	"phsubd",
	"phsubdq",
	"phsubsw",
	"phsubw",
	"phsubwd",
	"pi2fd",
	"pi2fw",
	"pinsrb",
	"pinsrd",
	"pinsrq",
	"pinsrw",
	"pmachriw",
	"pmacsdd",
	"pmacsdqh",
	"pmacsdql",
	"pmacssdd",
	"pmacssdqh",
	"pmacssdql",
	"pmacsswd",
	"pmacssww",
	"pmacswd",
	"pmacsww",
	"pmadcsswd",
	"pmadcswd",
	"pmaddubsw",
	"pmaddwd",
	"pmagw",
	"pmaxsb",
	"pmaxsd",
	"pmaxsw",
	"pmaxub",
	"pmaxud",
	"pmaxuw",
	"pminsb",
	"pminsd",
	"pminsw",
	"pminub",
	"pminud",
	"pminuw",
	"pmovmskb",
	"pmovsxbd",
	"pmovsxbq",
	"pmovsxbw",
	"pmovsxdq",
	"pmovsxwd",
	"pmovsxwq",
	"pmovzxbd",
	"pmovzxbq",
	"pmovzxbw",
	"pmovzxdq",
	"pmovzxwd",
	"pmovzxwq",
	"pmuldq",
	"pmulhriw",
	"pmulhrsw",
	"pmulhrwa",
	"pmulhrwc",
	"pmulhuw",
	"pmulhw",
	"pmulld",
	"pmullw",
	"pmuludq",
	"pmvgezb",
	"pmvlzb",
	"pmvnzb",
	"pmvzb",
	"pop",
	"popa",
	"popad",
	"popaw",
	"popcnt",
	"popf",
	"popfd",
	"popfq",
	"popfw",
	"por",
	"pperm",
	"prefetch",
	"prefetchnta",
	"prefetcht0",
	"prefetcht1",
	"prefetcht2",
	"prefetchw",
	"protb",
	"protd",
	"protq",
	"protw",
	"psadbw",
	"pshab",
	"pshad",
	"pshaq",
	"pshaw",
	"pshlb",
	"pshld",
	"pshlq",
	"pshlw",
	"pshufb",
	"pshufd",
	"pshufhw",
	"pshuflw",
	"pshufw",
	"psignb",
	"psignd",
	"psignw",
	"pslld",
	"pslldq",
	"psllq",
	"psllw",
	"psrad",
	"psraw",
	"psrld",
	"psrldq",
	"psrlq",
	"psrlw",
	"psubb",
	"psubd",
	"psubq",
	"psubsb",
	"psubsiw",
	"psubsw",
	"psubusb",
	"psubusw",
	"psubw",
	"pswapd",
	"ptest",
	"punpckhbw",
	"punpckhdq",
	"punpckhqdq",
	"punpckhwd",
	"punpcklbw",
	"punpckldq",
	"punpcklqdq",
	"punpcklwd",
	"push",
	"pusha",
	"pushad",
	"pushaw",
	"pushf",
	"pushfd",
	"pushfq",
	"pushfw",
	"pxor",
	"rcl",
	"rcpps",
	"rcpss",
	"rcr",
	"rdm",
	"rdmsr",
	"rdpmc",
	"rdshr",
	"rdtsc",
	"rdtscp",
	"resb",
	"resd",
	"reso",
	"resq",
	"rest",
	"resw",
	"ret",
	"retf",
	"retn",
	"rol",
	"ror",
	"roundpd",
	"roundps",
	"roundsd",
	"roundss",
	"rsdc",
	"rsldt",
	"rsm",
	"rsqrtps",
	"rsqrtss",
	"rsts",
	"sahf",
	"sal",
	"salc",
	"sar",
	"sbb",
	"scasb",
	"scasd",
	"scasq",
	"scasw",
	"sfence",
	"sgdt",
	"shl",
	"shld",
	"shr",
	"shrd",
	"shufpd",
	"shufps",
	"sidt",
	"skinit",
	"sldt",
	"smi",
	"smint",
	"smintold",
	"smsw",
	"sqrtpd",
	"sqrtps",
	"sqrtsd",
	"sqrtss",
	"stc",
	"std",
	"stgi",
	"sti",
	"stmxcsr",
	"stosb",
	"stosd",
	"stosq",
	"stosw",
	"str",
	"sub",
	"subpd",
	"subps",
	"subsd",
	"subss",
	"svdc",
	"svldt",
	"svts",
	"swapgs",
	"syscall",
	"sysenter",
	"sysexit",
	"sysret",
	"test",
	"ucomisd",
	"ucomiss",
	"ud0",
	"ud1",
	"ud2",
	"umov",
	"unpckhpd",
	"unpckhps",
	"unpcklpd",
	"unpcklps",
	"verr",
	"verw",
	"vmcall",
	"vmclear",
	"vmlaunch",
	"vmload",
	"vmmcall",
	"vmptrld",
	"vmptrst",
	"vmread",
	"vmresume",
	"vmrun",
	"vmsave",
	"vmwrite",
	"vmxoff",
	"vmxon",
	"wait",
	"wbinvd",
	"wrmsr",
	"wrshr",
	"xadd",
	"xbts",
	"xchg",
	"xcryptcbc",
	"xcryptcfb",
	"xcryptecb",
	"xcryptofb",
	"xlat",
	"xlatb",
	"xor",
	"xorpd",
	"xorps",
	"xsha1",
	"xsha256",
	"xstore"
};

/* Conditional instructions */
static const char *icn[] = {
	"cmov",
	"j",
	"set"
};

/* and the corresponding opcodes */
static const enum opcode ico[] = {
	I_CMOVcc,
	I_Jcc,
	I_SETcc
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -