- /* 
- ** $Id: lopcodes.c,v 1.55.1.1 2017/04/19 17:20:42 roberto Exp $ 
- ** Opcodes for Lua virtual machine 
- ** See Copyright Notice in lua.h 
- */ 
-   
- #define lopcodes_c 
- #define LUA_CORE 
-   
- #include "lprefix.h" 
-   
-   
- #include <stddef.h> 
-   
- #include "lopcodes.h" 
-   
-   
- /* ORDER OP */ 
-   
- LUAI_DDEF const char *const luaP_opnames[NUM_OPCODES+1] = { 
-   "MOVE", 
-   "LOADK", 
-   "LOADKX", 
-   "LOADBOOL", 
-   "LOADNIL", 
-   "GETUPVAL", 
-   "GETTABUP", 
-   "GETTABLE", 
-   "SETTABUP", 
-   "SETUPVAL", 
-   "SETTABLE", 
-   "NEWTABLE", 
-   "SELF", 
-   "ADD", 
-   "SUB", 
-   "MUL", 
-   "MOD", 
-   "POW", 
-   "DIV", 
-   "IDIV", 
-   "BAND", 
-   "BOR", 
-   "BXOR", 
-   "SHL", 
-   "SHR", 
-   "UNM", 
-   "BNOT", 
-   "NOT", 
-   "LEN", 
-   "CONCAT", 
-   "JMP", 
-   "EQ", 
-   "LT", 
-   "LE", 
-   "TEST", 
-   "TESTSET", 
-   "CALL", 
-   "TAILCALL", 
-   "RETURN", 
-   "FORLOOP", 
-   "FORPREP", 
-   "TFORCALL", 
-   "TFORLOOP", 
-   "SETLIST", 
-   "CLOSURE", 
-   "VARARG", 
-   "EXTRAARG", 
-   NULL 
- }; 
-   
-   
- #define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m)) 
-   
- LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = { 
- /*       T  A    B       C     mode                opcode       */ 
-   opmode(0, 1, OpArgR, OpArgN, iABC)            /* OP_MOVE */ 
-  ,opmode(0, 1, OpArgK, OpArgN, iABx)            /* OP_LOADK */ 
-  ,opmode(0, 1, OpArgN, OpArgN, iABx)            /* OP_LOADKX */ 
-  ,opmode(0, 1, OpArgU, OpArgU, iABC)            /* OP_LOADBOOL */ 
-  ,opmode(0, 1, OpArgU, OpArgN, iABC)            /* OP_LOADNIL */ 
-  ,opmode(0, 1, OpArgU, OpArgN, iABC)            /* OP_GETUPVAL */ 
-  ,opmode(0, 1, OpArgU, OpArgK, iABC)            /* OP_GETTABUP */ 
-  ,opmode(0, 1, OpArgR, OpArgK, iABC)            /* OP_GETTABLE */ 
-  ,opmode(0, 0, OpArgK, OpArgK, iABC)            /* OP_SETTABUP */ 
-  ,opmode(0, 0, OpArgU, OpArgN, iABC)            /* OP_SETUPVAL */ 
-  ,opmode(0, 0, OpArgK, OpArgK, iABC)            /* OP_SETTABLE */ 
-  ,opmode(0, 1, OpArgU, OpArgU, iABC)            /* OP_NEWTABLE */ 
-  ,opmode(0, 1, OpArgR, OpArgK, iABC)            /* OP_SELF */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_ADD */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_SUB */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_MUL */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_MOD */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_POW */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_DIV */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_IDIV */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_BAND */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_BOR */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_BXOR */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_SHL */ 
-  ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_SHR */ 
-  ,opmode(0, 1, OpArgR, OpArgN, iABC)            /* OP_UNM */ 
-  ,opmode(0, 1, OpArgR, OpArgN, iABC)            /* OP_BNOT */ 
-  ,opmode(0, 1, OpArgR, OpArgN, iABC)            /* OP_NOT */ 
-  ,opmode(0, 1, OpArgR, OpArgN, iABC)            /* OP_LEN */ 
-  ,opmode(0, 1, OpArgR, OpArgR, iABC)            /* OP_CONCAT */ 
-  ,opmode(0, 0, OpArgR, OpArgN, iAsBx)           /* OP_JMP */ 
-  ,opmode(1, 0, OpArgK, OpArgK, iABC)            /* OP_EQ */ 
-  ,opmode(1, 0, OpArgK, OpArgK, iABC)            /* OP_LT */ 
-  ,opmode(1, 0, OpArgK, OpArgK, iABC)            /* OP_LE */ 
-  ,opmode(1, 0, OpArgN, OpArgU, iABC)            /* OP_TEST */ 
-  ,opmode(1, 1, OpArgR, OpArgU, iABC)            /* OP_TESTSET */ 
-  ,opmode(0, 1, OpArgU, OpArgU, iABC)            /* OP_CALL */ 
-  ,opmode(0, 1, OpArgU, OpArgU, iABC)            /* OP_TAILCALL */ 
-  ,opmode(0, 0, OpArgU, OpArgN, iABC)            /* OP_RETURN */ 
-  ,opmode(0, 1, OpArgR, OpArgN, iAsBx)           /* OP_FORLOOP */ 
-  ,opmode(0, 1, OpArgR, OpArgN, iAsBx)           /* OP_FORPREP */ 
-  ,opmode(0, 0, OpArgN, OpArgU, iABC)            /* OP_TFORCALL */ 
-  ,opmode(0, 1, OpArgR, OpArgN, iAsBx)           /* OP_TFORLOOP */ 
-  ,opmode(0, 0, OpArgU, OpArgU, iABC)            /* OP_SETLIST */ 
-  ,opmode(0, 1, OpArgU, OpArgN, iABx)            /* OP_CLOSURE */ 
-  ,opmode(0, 1, OpArgU, OpArgN, iABC)            /* OP_VARARG */ 
-  ,opmode(0, 0, OpArgU, OpArgU, iAx)             /* OP_EXTRAARG */ 
- }; 
-   
-