Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/ceguilua/src/lua/lopcodes.c @ 1967

Last change on this file since 1967 was 1806, checked in by rgrieder, 16 years ago

added single 5.1.3 directory for lua since CEGUILua 0.5 can also build against lua 5.1

  • Property svn:eol-style set to native
File size: 2.8 KB
Line 
1/*
2** $Id: lopcodes.c,v 1.37.1.1 2007/12/27 13:02:25 roberto Exp $
3** See Copyright Notice in lua.h
4*/
5
6
7#define lopcodes_c
8#define LUA_CORE
9
10
11#include "lopcodes.h"
12
13
14/* ORDER OP */
15
16const char *const luaP_opnames[NUM_OPCODES+1] = {
17  "MOVE",
18  "LOADK",
19  "LOADBOOL",
20  "LOADNIL",
21  "GETUPVAL",
22  "GETGLOBAL",
23  "GETTABLE",
24  "SETGLOBAL",
25  "SETUPVAL",
26  "SETTABLE",
27  "NEWTABLE",
28  "SELF",
29  "ADD",
30  "SUB",
31  "MUL",
32  "DIV",
33  "MOD",
34  "POW",
35  "UNM",
36  "NOT",
37  "LEN",
38  "CONCAT",
39  "JMP",
40  "EQ",
41  "LT",
42  "LE",
43  "TEST",
44  "TESTSET",
45  "CALL",
46  "TAILCALL",
47  "RETURN",
48  "FORLOOP",
49  "FORPREP",
50  "TFORLOOP",
51  "SETLIST",
52  "CLOSE",
53  "CLOSURE",
54  "VARARG",
55  NULL
56};
57
58
59#define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m))
60
61const lu_byte luaP_opmodes[NUM_OPCODES] = {
62/*       T  A    B       C     mode                opcode       */
63  opmode(0, 1, OpArgR, OpArgN, iABC)            /* OP_MOVE */
64 ,opmode(0, 1, OpArgK, OpArgN, iABx)            /* OP_LOADK */
65 ,opmode(0, 1, OpArgU, OpArgU, iABC)            /* OP_LOADBOOL */
66 ,opmode(0, 1, OpArgR, OpArgN, iABC)            /* OP_LOADNIL */
67 ,opmode(0, 1, OpArgU, OpArgN, iABC)            /* OP_GETUPVAL */
68 ,opmode(0, 1, OpArgK, OpArgN, iABx)            /* OP_GETGLOBAL */
69 ,opmode(0, 1, OpArgR, OpArgK, iABC)            /* OP_GETTABLE */
70 ,opmode(0, 0, OpArgK, OpArgN, iABx)            /* OP_SETGLOBAL */
71 ,opmode(0, 0, OpArgU, OpArgN, iABC)            /* OP_SETUPVAL */
72 ,opmode(0, 0, OpArgK, OpArgK, iABC)            /* OP_SETTABLE */
73 ,opmode(0, 1, OpArgU, OpArgU, iABC)            /* OP_NEWTABLE */
74 ,opmode(0, 1, OpArgR, OpArgK, iABC)            /* OP_SELF */
75 ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_ADD */
76 ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_SUB */
77 ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_MUL */
78 ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_DIV */
79 ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_MOD */
80 ,opmode(0, 1, OpArgK, OpArgK, iABC)            /* OP_POW */
81 ,opmode(0, 1, OpArgR, OpArgN, iABC)            /* OP_UNM */
82 ,opmode(0, 1, OpArgR, OpArgN, iABC)            /* OP_NOT */
83 ,opmode(0, 1, OpArgR, OpArgN, iABC)            /* OP_LEN */
84 ,opmode(0, 1, OpArgR, OpArgR, iABC)            /* OP_CONCAT */
85 ,opmode(0, 0, OpArgR, OpArgN, iAsBx)           /* OP_JMP */
86 ,opmode(1, 0, OpArgK, OpArgK, iABC)            /* OP_EQ */
87 ,opmode(1, 0, OpArgK, OpArgK, iABC)            /* OP_LT */
88 ,opmode(1, 0, OpArgK, OpArgK, iABC)            /* OP_LE */
89 ,opmode(1, 1, OpArgR, OpArgU, iABC)            /* OP_TEST */
90 ,opmode(1, 1, OpArgR, OpArgU, iABC)            /* OP_TESTSET */
91 ,opmode(0, 1, OpArgU, OpArgU, iABC)            /* OP_CALL */
92 ,opmode(0, 1, OpArgU, OpArgU, iABC)            /* OP_TAILCALL */
93 ,opmode(0, 0, OpArgU, OpArgN, iABC)            /* OP_RETURN */
94 ,opmode(0, 1, OpArgR, OpArgN, iAsBx)           /* OP_FORLOOP */
95 ,opmode(0, 1, OpArgR, OpArgN, iAsBx)           /* OP_FORPREP */
96 ,opmode(1, 0, OpArgN, OpArgU, iABC)            /* OP_TFORLOOP */
97 ,opmode(0, 0, OpArgU, OpArgU, iABC)            /* OP_SETLIST */
98 ,opmode(0, 0, OpArgN, OpArgN, iABC)            /* OP_CLOSE */
99 ,opmode(0, 1, OpArgU, OpArgN, iABx)            /* OP_CLOSURE */
100 ,opmode(0, 1, OpArgU, OpArgN, iABC)            /* OP_VARARG */
101};
102
Note: See TracBrowser for help on using the repository browser.