2812
+ − 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
+ − 16
const 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
+ − 61
const lu_byte luaP_opmodes[NUM_OPCODES] = {
10017
+ − 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 */
2812
+ − 101
};
+ − 102