lua/lopcodes.c

Go to the documentation of this file.
00001 /*
00002 ** $Id: lopcodes.c,v 1.48 2011/04/19 16:22:13 roberto Exp $
00003 ** See Copyright Notice in lua.h
00004 */
00005 
00006 
00007 #define lopcodes_c
00008 #define LUA_CORE
00009 
00010 
00011 #include "lopcodes.h"
00012 
00013 
00014 /* ORDER OP */
00015 
00016 LUAI_DDEF const char *const luaP_opnames[NUM_OPCODES+1] = {
00017   "MOVE",
00018   "LOADK",
00019   "LOADKX",
00020   "LOADBOOL",
00021   "LOADNIL",
00022   "GETUPVAL",
00023   "GETTABUP",
00024   "GETTABLE",
00025   "SETTABUP",
00026   "SETUPVAL",
00027   "SETTABLE",
00028   "NEWTABLE",
00029   "SELF",
00030   "ADD",
00031   "SUB",
00032   "MUL",
00033   "DIV",
00034   "MOD",
00035   "POW",
00036   "UNM",
00037   "NOT",
00038   "LEN",
00039   "CONCAT",
00040   "JMP",
00041   "EQ",
00042   "LT",
00043   "LE",
00044   "TEST",
00045   "TESTSET",
00046   "CALL",
00047   "TAILCALL",
00048   "RETURN",
00049   "FORLOOP",
00050   "FORPREP",
00051   "TFORCALL",
00052   "TFORLOOP",
00053   "SETLIST",
00054   "CLOSURE",
00055   "VARARG",
00056   "EXTRAARG",
00057   NULL
00058 };
00059 
00060 
00061 #define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m))
00062 
00063 LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = {
00064 /*       T  A    B       C     mode        opcode   */
00065   opmode(0, 1, OpArgR, OpArgN, iABC)        /* OP_MOVE */
00066  ,opmode(0, 1, OpArgK, OpArgN, iABx)        /* OP_LOADK */
00067  ,opmode(0, 1, OpArgN, OpArgN, iABx)        /* OP_LOADKX */
00068  ,opmode(0, 1, OpArgU, OpArgU, iABC)        /* OP_LOADBOOL */
00069  ,opmode(0, 1, OpArgU, OpArgN, iABC)        /* OP_LOADNIL */
00070  ,opmode(0, 1, OpArgU, OpArgN, iABC)        /* OP_GETUPVAL */
00071  ,opmode(0, 1, OpArgU, OpArgK, iABC)        /* OP_GETTABUP */
00072  ,opmode(0, 1, OpArgR, OpArgK, iABC)        /* OP_GETTABLE */
00073  ,opmode(0, 0, OpArgK, OpArgK, iABC)        /* OP_SETTABUP */
00074  ,opmode(0, 0, OpArgU, OpArgN, iABC)        /* OP_SETUPVAL */
00075  ,opmode(0, 0, OpArgK, OpArgK, iABC)        /* OP_SETTABLE */
00076  ,opmode(0, 1, OpArgU, OpArgU, iABC)        /* OP_NEWTABLE */
00077  ,opmode(0, 1, OpArgR, OpArgK, iABC)        /* OP_SELF */
00078  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_ADD */
00079  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_SUB */
00080  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_MUL */
00081  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_DIV */
00082  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_MOD */
00083  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_POW */
00084  ,opmode(0, 1, OpArgR, OpArgN, iABC)        /* OP_UNM */
00085  ,opmode(0, 1, OpArgR, OpArgN, iABC)        /* OP_NOT */
00086  ,opmode(0, 1, OpArgR, OpArgN, iABC)        /* OP_LEN */
00087  ,opmode(0, 1, OpArgR, OpArgR, iABC)        /* OP_CONCAT */
00088  ,opmode(0, 0, OpArgR, OpArgN, iAsBx)       /* OP_JMP */
00089  ,opmode(1, 0, OpArgK, OpArgK, iABC)        /* OP_EQ */
00090  ,opmode(1, 0, OpArgK, OpArgK, iABC)        /* OP_LT */
00091  ,opmode(1, 0, OpArgK, OpArgK, iABC)        /* OP_LE */
00092  ,opmode(1, 0, OpArgN, OpArgU, iABC)        /* OP_TEST */
00093  ,opmode(1, 1, OpArgR, OpArgU, iABC)        /* OP_TESTSET */
00094  ,opmode(0, 1, OpArgU, OpArgU, iABC)        /* OP_CALL */
00095  ,opmode(0, 1, OpArgU, OpArgU, iABC)        /* OP_TAILCALL */
00096  ,opmode(0, 0, OpArgU, OpArgN, iABC)        /* OP_RETURN */
00097  ,opmode(0, 1, OpArgR, OpArgN, iAsBx)       /* OP_FORLOOP */
00098  ,opmode(0, 1, OpArgR, OpArgN, iAsBx)       /* OP_FORPREP */
00099  ,opmode(0, 0, OpArgN, OpArgU, iABC)        /* OP_TFORCALL */
00100  ,opmode(0, 1, OpArgR, OpArgN, iAsBx)       /* OP_TFORLOOP */
00101  ,opmode(0, 0, OpArgU, OpArgU, iABC)        /* OP_SETLIST */
00102  ,opmode(0, 1, OpArgU, OpArgN, iABx)        /* OP_CLOSURE */
00103  ,opmode(0, 1, OpArgU, OpArgN, iABC)        /* OP_VARARG */
00104  ,opmode(0, 0, OpArgU, OpArgU, iAx)     /* OP_EXTRAARG */
00105 };
00106 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated by doxygen 1.7.1 on Fri May 25 2012 01:03:04 for The Battle for Wesnoth
Gna! | Forum | Wiki | CIA | devdocs