Action Script Opcodes


The Adobe® ActionScript™ Virtual Machine 2, or AVM2 for short, was designed to execute programs written in the ActionScript 3.0 language. ActionScript 3.0 is based on ECMAScript, the international standardized programming language for scripting. ActionScript 3.0 is compliant with the ECMAScript Language Specification.

AS 1 :


No Operation (NOP) = 0x02,
ActionWith = 0x94,
ActionWaitForFrame2 = x8D,
ActionWaitForFrame = 0x8A,
ActionTypeOf = 0x44,
ActionTrace = 0x26,
ActionToString = 0x4B,
ActionToNumber = 0x4A,
ActionToInteger = 0x18,
ActionToggleQuality = 0x08,
ActionTargetPath = 0x45,
ActionSubtract = 0x0B,
ActionStringLess = 0x29,
ActionStringLength = 0x14,
ActionStringGreater = 0x68,
ActionStringExtract = 0x15,
ActionStringEquals = 0x13,
ActionStringAdd = 0x21,
ActionStrictEquals = 0x66,
ActionStoreRegister = 0x87,
ActionStopSounds = 0x09,
ActionStop = 0x07,
ActionStartDrag = 0x27,
ActionStackSwap = 0x4D,
ActionSetVariable = 0x1D,
ActionSetTarget2 = 0x20,
ActionSetTarget = 0x8B,
ActionSetProperty = 0x23,
ActionSetMember = 0x4F,
ActionReturn = 0x3E,
ActionRemoveSprite = 0x25,
ActionRandomNumber = 0x30,
ActionPushDuplicate = 0x4C,
ActionPush = 0x96,
ActionPreviousFrame = 0x05,
ActionPop = 0x17,
ActionPlay = 0x06,
ActionOr = 0x11,
ActionNot = 0x12,
ActionNone = 0x0,
ActionNextFrame = 0x04,
ActionNewObject = 0x40,
ActionNewMethod = 0x53,
ActionMultiply = 0x0C,
ActionModulo = 0x3F,
ActionMBStringLength = 0x31,
ActionMBStringExtract = 0x35,
ActionMBCharToAscii = 0x36,
ActionMBAsciiToChar = 0x37,
ActionLess2 = 0x48,
ActionLess = 0x0F,
ActionJump = 0x99,
ActionInstanceOf = 0x54,
ActionInitObject = 0x43,
ActionInitArray = 0x42,
ActionIncrement = 0x50,
ActionIf = 0x9D,
ActionGreater = 0x67,
ActionGoToLabel = 0x8C,
ActionGotoFrame2 = 0x9F,
ActionGotoFrame = 0x81,
ActionGetVariable = 0x1C,
ActionGetTime = 0x34,
ActionGetProperty = 0x22,
ActionGetMember = 0x4E,
ActionEquals2 = 0x49,
ActionEquals = 0x0E,
ActionEnumerate2 = 0x55,
ActionEnumerate = 0x46,
ActionEndDrag = 0x28,
ActionDivide = 0x0D,
ActionDelete2 = 0x3B,
ActionDelete = 0x3A,
ActionDefineLocal2 = 0x41,
ActionDefineLocal = 0x3C,
ActionDefineFunction2 = x8E,
ActionDefineFunction = 0x9B,
ActionDecrement = 0x51,
ActionConstantPool = 0x88,
ActionCloneSprite = 0x24,
ActionCharToAscii = 0x32,
ActionCallMethod = 0x52,
ActionCallFunction = 0x3D,
ActionCall = 0x9E,
ActionBitXor = 0x62,
ActionBitURShift = 0x65,
ActionBitRShift = 0x64,
ActionBitOR = 0x61,
ActionBitLShift = 0x63,
ActionBitAnd = 0x60,
ActionAsciiToChar = 0x33,
ActionAnd = 0x10,
ActionAdd2 = 0x47,
ActionAdd = 0x0A,


AS 3 :


final int OP_urshift = 0xA7;
final int OP_typeof = 0x95;
final int OP_throw = 0x03;
final int OP_swap = 0x2B;
final int OP_subtract_i = 0xC6;
final int OP_subtract = 0xA1;
final int OP_strictequals = 0xAC;
final int OP_setsuper = 0x05;
final int OP_setslot = 0x6D;
final int OP_setpropertylate = 0x69;
final int OP_setproperty = 0x61;
final int OP_setlocal3 = 0xD7;
final int OP_setlocal2 = 0xD6;
final int OP_setlocal1 = 0xD5;
final int OP_setlocal0 = 0xD4;
final int OP_setlocal = 0x63;
final int OP_setglobalslot = 0x6F;
final int OP_rshift = 0xA6;
final int OP_returnvoid = 0x47;
final int OP_returnvalue = 0x48;
final int OP_pushwith = 0x1C;
final int OP_pushundefined = 0x21;
final int OP_pushuint = 0x2E;
final int OP_pushtrue = 0x26;
final int OP_pushstring = 0x2C;
final int OP_pushshort = 0x25;
final int OP_pushscope = 0x30;
final int OP_pushnull = 0x20;
final int OP_pushnan = 0x28;
final int OP_pushnamespace = 0x31;
final int OP_pushintant = 0x22;
final int OP_pushint = 0x2D;
final int OP_pushfalse = 0x27;
final int OP_pushdouble = 0x2F;
final int OP_pushbyte = 0x24;
final int OP_popscope = 0x1D;
final int OP_pop = 0x29;
final int OP_not = 0x96;
final int OP_nop = 0x02;
final int OP_nextvalue = 0x23;
final int OP_nextname = 0x1E;
final int OP_newobject = 0x55;
final int OP_newfunction = 0x40;
final int OP_newclass = 0x58;
final int OP_newcatch = 0x5A;
final int OP_newarray = 0x56;
final int OP_newactivation = 0x57;
final int OP_negate_i = 0xC4;
final int OP_negate = 0x90;
final int OP_multiply_i = 0xC7;
final int OP_multiply = 0xA2;
final int OP_modulo = 0xA4;
final int OP_lshift = 0xA5;
final int OP_lookupswitch = 0x1B;
final int OP_lessthan = 0xAD;
final int OP_lessequals = 0xAE;
final int OP_label = 0x09;
final int OP_kill = 0x08;
final int OP_jump = 0x10;
final int OP_istypelate = 0xB3;
final int OP_istype = 0xB2;
final int OP_instanceof = 0xB1;
final int OP_initproperty = 0x68;
final int OP_increment_i = 0xC0;
final int OP_increment = 0x91;
final int OP_inclocal_i = 0xC2;
final int OP_inclocal = 0x92;
final int OP_in = 0xB4;
final int OP_iftrue = 0x11;
final int OP_ifstrictne = 0x1A;
final int OP_ifstricteq = 0x19;
final int OP_ifnlt = 0x0C;
final int OP_ifnle = 0x0D;
final int OP_ifngt = 0x0E;
final int OP_ifnge = 0x0F;
final int OP_ifne = 0x14;
final int OP_iflt = 0x15;
final int OP_ifle = 0x16;
final int OP_ifgt = 0x17;
final int OP_ifge = 0x18;
final int OP_iffalse = 0x12;
final int OP_ifeq = 0x13;
final int OP_hasnext2 = 0x32;
final int OP_hasnext = 0x1F;
final int OP_greaterthan = 0xAF;
final int OP_greaterequals = 0xB0;
final int OP_getsuper = 0x04;
final int OP_getslot = 0x6C;
final int OP_getscopeobject = 0x65;
final int OP_getpropertylate = 0x67;
final int OP_getproperty = 0x66;
final int OP_getlocal3 = 0xD3;
final int OP_getlocal2 = 0xD2;
final int OP_getlocal1 = 0xD1;
final int OP_getlocal0 = 0xD0;
final int OP_getlocal = 0x62;
final int OP_getlex = 0x60;
final int OP_getglobalslot = 0x6E;
final int OP_getglobalscope = 0x64;
final int OP_getdescendants = 0x59;
final int OP_findpropstrict = 0x5D;
final int OP_findproperty = 0x5E;
final int OP_finddef = 0x5F;
final int OP_esc_xelem = 0x71;
final int OP_esc_xattr = 0x72;
final int OP_equals = 0xAB;
final int OP_dxnslate = 0x07;
final int OP_dxns = 0x06;
final int OP_dup = 0x2A;
final int OP_divide = 0xA3;
final int OP_deletepropertylate = 0x6B;
final int OP_deleteproperty = 0x6A;
final int OP_decrement_i = 0xC1;
final int OP_decrement = 0x93;
final int OP_declocal_i = 0xC3;
final int OP_declocal = 0x94;
final int OP_debugline = 0xF0;
final int OP_debugfile = 0xF1;
final int OP_debug = 0xEF;
final int OP_convert_u = 0x74;
final int OP_convert_s = 0x70;
final int OP_convert_o = 0x77;
final int OP_convert_i = 0x73;
final int OP_convert_d = 0x75;
final int OP_convert_b = 0x76;
final int OP_constructsuper = 0x49;
final int OP_constructprop = 0x4A;
final int OP_construct = 0x42;
final int OP_concat = 0x9A;
final int OP_coerce_u = 0x88;
final int OP_coerce_s = 0x85;
final int OP_coerce_o = 0x89;
final int OP_coerce_i = 0x83;
final int OP_coerce_d = 0x84;
final int OP_coerce_b = 0x81;
final int OP_coerce_a = 0x82;
final int OP_coerce = 0x80;
final int OP_callsupervoid = 0x4E;
final int OP_callsuperid = 0x4B;
final int OP_callsuper = 0x45;
final int OP_callstatic = 0x44;
final int OP_callpropvoid = 0x4F;
final int OP_callproplex = 0x4C;
final int OP_callproperty = 0x46;
final int OP_callmethod = 0x43;
final int OP_callinterface = 0x4D;
final int OP_call = 0x41;
final int OP_bkptline = 0xF2;
final int OP_bkpt = 0x01;
final int OP_bitxor = 0xAA;
final int OP_bitor = 0xA9;
final int OP_bitnot = 0x97;
final int OP_bitand = 0xA8;
final int OP_astypelate = 0x87;
final int OP_astype = 0x86;
final int OP_add_i = 0xC5;
final int OP_add_d = 0x9B;
final int OP_add = 0xA0;


Source I & Source II