flash - AVM2 指令参考

flash的VM指令网上很少有介绍

指令列表

		// width jumps term thro calls push pop pop_ex use_l def_l       name
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x00") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x01") },
		{    1,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("nop") },             // nop
		{    1,    0,    1,   1,    0,   0,   1,   0,    0,    0         N("throw") },
		{    2,    0,    0,   1,    0,   1,   1,   1,    0,    0         N("getsuper") },
		{    2,    0,    0,   1,    0,   0,   2,   1,    0,    0         N("setsuper") },
		{    2,    0,    0,   1,    0,   0,   0,   0,    0,    0         N("dxns") },
		{    1,    0,    0,   1,    0,   0,   1,   0,    0,    0         N("dxnslate") },
		{    2,    0,    0,   0,    0,   0,   0,   0,    1,    1         N("kill") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x09") },            // label
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x0A") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x0B") },
		{    2,    1,    0,   1,    0,   0,   2,   0,    0,    0         N("ifnlt") },
		{    2,    1,    0,   1,    0,   0,   2,   0,    0,    0         N("ifnle") },
		{    2,    1,    0,   1,    0,   0,   2,   0,    0,    0         N("ifngt") },
		{    2,    1,    0,   1,    0,   0,   2,   0,    0,    0         N("ifnge") },
		{    2,    1,    1,   0,    0,   0,   0,   0,    0,    0         N("jump") },            // 0x10
		{    2,    1,    0,   0,    0,   0,   1,   0,    0,    0         N("iftrue") },
		{    2,    1,    0,   0,    0,   0,   1,   0,    0,    0         N("iffalse") },
		{    2,    1,    0,   1,    0,   0,   2,   0,    0,    0         N("ifeq") },
		{    2,    1,    0,   1,    0,   0,   2,   0,    0,    0         N("ifne") },
		{    2,    1,    0,   1,    0,   0,   2,   0,    0,    0         N("iflt") },
		{    2,    1,    0,   1,    0,   0,   2,   0,    0,    0         N("ifle") },
		{    2,    1,    0,   1,    0,   0,   2,   0,    0,    0         N("ifgt") },
		{    2,    1,    0,   1,    0,   0,   2,   0,    0,    0         N("ifge") },
		{    2,    1,    0,   0,    0,   0,   2,   0,    0,    0         N("ifstricteq") },
		{    2,    1,    0,   0,    0,   0,   2,   0,    0,    0         N("ifstrictne") },
		{    3,    1,    1,   0,    0,   0,   1,   0,    0,    0         N("lookupswitch") },    // NOTE, variable length beyond 3rd word
		{    1,    0,    0,   0,    0,   0,   1,   0,    0,    0         N("pushwith") },
		{    1,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("popscope") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("nextname") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("hasnext") },
		{    1,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("pushnull") },        // 0x20
		{    1,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("pushundefined") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x22") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("nextvalue") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x24") },            // pushbyte
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x25") },            // pushshort
		{    1,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("pushtrue") },
		{    1,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("pushfalse") },
		{    1,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("pushnan") },
		{    1,    0,    0,   0,    0,   0,   1,   0,    0,    0         N("pop") },
		{    1,    0,    0,   0,    0,   2,   1,   0,    0,    0         N("dup") },
		{    1,    0,    0,   0,    0,   2,   2,   0,    0,    0         N("swap") },
		{    2,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("pushstring") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x2D") },            // pushint
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x2E") },            // pushuint
		{    2,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("pushdouble") },
		{    1,    0,    0,   0,    0,   0,   1,   0,    0,    0         N("pushscope") },       // 0x30
		{    2,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("pushnamespace") },
		{    3,    0,    0,   1,    0,   1,   0,   0,    0,    0         N("hasnext2") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x33") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x34") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("li8") }, 
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("li16") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("li32") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("lf32") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("lf64") },
		{    1,    0,    0,   1,    0,   0,   2,   0,    0,    0         N("si8") },
		{    1,    0,    0,   1,    0,   0,   2,   0,    0,    0         N("si16") },
		{    1,    0,    0,   1,    0,   0,   2,   0,    0,    0         N("si32") },
		{    1,    0,    0,   1,    0,   0,   2,   0,    0,    0         N("sf32") },
		{    1,    0,    0,   1,    0,   0,   2,   0,    0,    0         N("sf64") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x3F") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    0,    0         N("newfunction") },     // 0x40
		{    2,    0,    0,   1,    1,   1,   2,   0,    0,    0         N("call") },
		{    2,    0,    0,   1,    1,   1,   1,   0,    0,    0         N("construct") },
		{    3,    0,    0,   1,    1,   1,   1,   0,    0,    0         N("callmethod") },
		{    3,    0,    0,   1,    1,   1,   1,   0,    0,    0         N("callstatic") },
		{    3,    0,    0,   1,    1,   1,   1,   1,    0,    0         N("callsuper") },
		{    3,    0,    0,   1,    1,   1,   1,   1,    0,    0         N("callproperty") },
		{    1,    0,    1,   0,    0,   0,   0,   0,    0,    0         N("returnvoid") },
		{    1,    0,    1,   0,    0,   0,   1,   0,    0,    0         N("returnvalue") },
		{    2,    0,    0,   1,    1,   0,   1,   0,    0,    0         N("constructsuper") },
		{    3,    0,    0,   1,    1,   1,   1,   1,    0,    0         N("constructprop") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x4B") },            // callsuperid
		{    3,    0,    0,   1,    1,   1,   1,   1,    0,    0         N("callproplex") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x4D") },            // callinterface
		{    3,    0,    0,   1,    1,   0,   1,   1,    0,    0         N("callsupervoid") },
		{    3,    0,    0,   1,    1,   0,   1,   1,    0,    0         N("callpropvoid") },
		{    1,    0,    0,   0,    0,   1,   1,   0,    0,    0         N("sxi1") },    
		{    1,    0,    0,   0,    0,   1,   1,   0,    0,    0         N("sxi8") },
		{    1,    0,    0,   0,    0,   1,   1,   0,    0,    0         N("sxi16") },
		{    2,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("applytype") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x54") },
		{    2,    0,    0,   1,    1,   1,   0,   0,    0,    0         N("newobject") },
		{    2,    0,    0,   1,    1,   1,   0,   0,    0,    0         N("newarray") },
		{    1,    0,    0,   1,    0,   1,   0,   0,    0,    0         N("newactivation") },
		{    2,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("newclass") },
		{    2,    0,    0,   1,    0,   1,   1,   1,    0,    0         N("getdescendants") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    0,    0         N("newcatch") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x5B") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x5C") },
		{    2,    0,    0,   1,    0,   1,   0,   1,    0,    0         N("findpropstrict") },
		{    2,    0,    0,   1,    0,   1,   0,   1,    0,    0         N("findproperty") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    0,    0         N("finddef") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    0,    0         N("getlex") },          // 0x60
		{    2,    0,    0,   1,    0,   0,   2,   1,    0,    0         N("setproperty") },
		{    2,    0,    0,   0,    0,   1,   0,   0,    1,    0         N("getlocal") },
		{    2,    0,    0,   0,    0,   0,   1,   0,    0,    1         N("setlocal") },
		{    1,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("getglobalscope") },
		{    2,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("getscopeobject") },
		{    2,    0,    0,   1,    0,   1,   1,   1,    0,    0         N("getproperty") },
		{    2,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("getouterscope") },
		{    2,    0,    0,   1,    0,   0,   2,   1,    0,    0         N("initproperty") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x69") },
		{    2,    0,    0,   1,    0,   1,   1,   1,    0,    0         N("deleteproperty") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x6B") },
		{    2,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("getslot") },
		{    2,    0,    0,   1,    0,   0,   2,   0,    0,    0         N("setslot") },
		{    2,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("getglobalslot") },
		{    2,    0,    0,   0,    0,   0,   1,   0,    0,    0         N("setglobalslot") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("convert_s") },       // 0x70
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("esc_xelem") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("esc_xattr") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("convert_i") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("convert_u") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("convert_d") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("convert_b") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("convert_o") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("checkfilter") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x79") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x7A") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x7B") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x7C") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x7D") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x7E") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x7F") },
		{    2,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("coerce") },          // 0x80
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x81") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x82") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x83") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x84") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("coerce_s") },
		{    2,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("astype") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("astypelate") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x88") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("coerce_o") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x8A") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x8B") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x8C") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x8D") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x8E") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x8F") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("negate") },          // 0x90
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("increment") },
		{    2,    0,    0,   1,    0,   0,   0,   0,    1,    1         N("inclocal") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("decrement") },
		{    2,    0,    0,   1,    0,   0,   0,   0,    1,    1         N("declocal") },
		{    1,    0,    0,   0,    0,   1,   1,   0,    0,    0         N("typeof") },
		{    1,    0,    0,   0,    0,   1,   1,   0,    0,    0         N("not") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("bitnot") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x98") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x99") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x9A") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x9B") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x9C") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x9D") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x9E") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x9F") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("add") },             // 0xA0
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("subtract") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("multiply") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("divide") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("modulo") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("lshift") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("rshift") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("urshift") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("bitand") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("bitor") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("bitxor") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("equals") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("strictequals") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("lessthan") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("lessequals") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("greaterthan") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("greaterequals") },   // 0xB0
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("instanceof") },
		{    2,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("istype") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("istypelate") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("in") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xB5") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xB6") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xB7") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xB8") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xB9") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xBA") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xBB") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xBC") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xBD") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xBE") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xBF") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("increment_i") },     // 0xC0
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("decrement_i") },
		{    2,    0,    0,   1,    0,   0,   0,   0,    1,    1         N("inclocal_i") },
		{    2,    0,    0,   1,    0,   0,   0,   0,    1,    1         N("declocal_i") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("negate_i") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("add_i") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("subtract_i") },
		{    1,    0,    0,   1,    0,   1,   2,   0,    0,    0         N("multiply_i") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xC8") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xC9") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xCA") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xCB") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xCC") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xCD") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xCE") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xCF") },
		{    1,    0,    0,   0,    0,   1,   0,   0,    1,    0         N("getlocal0") },       // 0xD0
		{    1,    0,    0,   0,    0,   1,   0,   0,    1,    0         N("getlocal1") },
		{    1,    0,    0,   0,    0,   1,   0,   0,    1,    0         N("getlocal2") },
		{    1,    0,    0,   0,    0,   1,   0,   0,    1,    0         N("getlocal3") },
		{    1,    0,    0,   0,    0,   0,   1,   0,    0,    1         N("setlocal0") },
		{    1,    0,    0,   0,    0,   0,   1,   0,    0,    1         N("setlocal1") },
		{    1,    0,    0,   0,    0,   0,   1,   0,    0,    1         N("setlocal2") },
		{    1,    0,    0,   0,    0,   0,   1,   0,    0,    1         N("setlocal3") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xD8") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xD9") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xDA") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xDB") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xDC") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xDD") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xDE") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xDF") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xE0") },            // 0xE0
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xE1") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xE2") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xE3") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xE4") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xE5") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xE6") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xE7") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xE8") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xE9") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xEA") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xEB") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xEC") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xED") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xEE") },            // abs_jump
		{    5,    0,    0,   1,    0,   0,   0,   0,    0,    0         N("debug") },
		{    2,    0,    0,   1,    0,   0,   0,   0,    0,    0         N("debugline") },       // 0xF0
		{    2,    0,    0,   1,    0,   0,   0,   0,    0,    0         N("debugfile") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xF2") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xF3") },            // timestamp
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xF4") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xF5") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xF6") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xF7") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xF8") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xF9") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xFA") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xFB") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xFC") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xFD") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xFE") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0xFF") },
		{    0,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("0x100") },           // 0x100
		{    2,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("pushbits") },
		{    3,    0,    0,   0,    0,   1,   0,   0,    0,    0         N("push_doublebits") },
		{    2,    0,    0,   0,    0,   2,   0,   0,    1,    0         N("get2locals") },
		{    2,    0,    0,   0,    0,   3,   0,   0,    1,    0         N("get3locals") },
		{    2,    0,    0,   0,    0,   4,   0,   0,    1,    0         N("get4locals") },
		{    2,    0,    0,   0,    0,   5,   0,   0,    1,    0         N("get5locals") },
		{    2,    0,    0,   0,    0,   0,   0,   0,    0,    1         N("storelocal") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("add_ll") },
		{    2,    0,    0,   1,    0,   0,   0,   0,    1,    1         N("add_set_lll") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("subtract_ll") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("multiply_ll") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("divide_ll") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("modulo_ll") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("bitand_ll") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("bitor_ll") },
		{    2,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("bitxor_ll") },       // 0x110
		{    3,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("add_lb") },
		{    3,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("subtract_lb") },
		{    3,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("multiply_lb") },
		{    3,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("divide_lb") },
		{    3,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("bitand_lb") },
		{    3,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("bitor_lb") },
		{    3,    0,    0,   1,    0,   1,   0,   0,    1,    0         N("bitxor_lb") },
		{    3,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("iflt_ll") },
		{    3,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifnlt_ll") },
		{    3,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifle_ll") },
		{    3,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifnle_ll") },
		{    3,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifgt_ll") },
		{    3,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifngt_ll") },
		{    3,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifge_ll") },
		{    3,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifnge_ll") },
		{    3,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifeq_ll") },         // 0x120
		{    3,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifne_ll") },
		{    3,    1,    0,   0,    0,   0,   0,   0,    1,    0         N("ifstricteq_ll") },
		{    3,    1,    0,   0,    0,   0,   0,   0,    1,    0         N("ifstrictne_ll") },
		{    4,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("iflt_lb") },
		{    4,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifnlt_lb") },
		{    4,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifle_lb") },
		{    4,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifnle_lb") },
		{    4,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifgt_lb") },
		{    4,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifngt_lb") },
		{    4,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifge_lb") },
		{    4,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifnge_lb") },
		{    4,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifeq_lb") },
		{    4,    1,    0,   1,    0,   0,   0,   0,    1,    0         N("ifne_lb") },
		{    4,    1,    0,   0,    0,   0,   0,   0,    1,    0         N("ifstricteq_lb") },
		{    4,    1,    0,   0,    0,   0,   0,   0,    1,    0         N("ifstrictne_lb") },
		{    1,    0,    0,   0,    0,   1,   2,   0,    0,    0         N("swap_pop") },        // 0x130
		{    3,    0,    0,   1,    0,   1,   0,   0,    0,    0         N("findpropglobal") },
		{    3,    0,    0,   1,    0,   1,   0,   0,    0,    0         N("findpropglobalstrict") },
		{    1,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("debugenter") },
		{    1,    0,    0,   0,    0,   0,   0,   0,    0,    0         N("debugexit") },
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("lix8") }, 
		{    1,    0,    0,   1,    0,   1,   1,   0,    0,    0         N("lix16") }, 

摘自 core\wopcodes.cpp, 完整源码在本人资源有下载


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值