Rizin
unix-like reverse engineering framework and cli tools
arch_53.h File Reference
#include <rz_types.h>
#include <rz_asm.h>
#include <stddef.h>
#include "librz/asm/arch/luac/lua_arch.h"

Go to the source code of this file.

Macros

#define PARAM_A   1
 
#define PARAM_B   2
 
#define PARAM_C   4
 
#define PARAM_Ax   8
 
#define PARAM_Bx   16
 
#define PARAM_sBx   32
 
#define has_param_flag(flag, bit)   ((flag) & (bit)) ? true : false
 
#define SIZE_C   9
 
#define SIZE_B   9
 
#define SIZE_Bx   (SIZE_C + SIZE_B)
 
#define SIZE_A   8
 
#define SIZE_Ax   (SIZE_C + SIZE_B + SIZE_A)
 
#define SIZE_OP   6
 
#define POS_OP   0
 
#define POS_A   (POS_OP + SIZE_OP)
 
#define POS_C   (POS_A + SIZE_A)
 
#define POS_B   (POS_C + SIZE_C)
 
#define POS_Bx   POS_C
 
#define POS_Ax   POS_A
 
#define LUA_NUM_OPCODES   ((int)(OP_EXTRAARG) + 1)
 
#define MAX_INT   INT_MAX /* maximum value of an int */
 
#define LUAI_BITSINT   32
 
#define MAXARG_Bx   ((1 << SIZE_Bx) - 1)
 
#define MAXARG_sBx   (MAXARG_Bx >> 1) /* 'sBx' is signed */
 
#define MAXARG_Ax   ((1 << SIZE_Ax) - 1)
 
#define MAXARG_A   ((1 << SIZE_A) - 1)
 
#define MAXARG_B   ((1 << SIZE_B) - 1)
 
#define MAXARG_C   ((1 << SIZE_C) - 1)
 
#define MASK1(n, p)   ((~((~0u) << (n))) << (p))
 
#define MASK0(n, p)   (~MASK1(n, p))
 
#define cast(x, y)   ((x)(y))
 
#define GET_OPCODE(i)   (cast(LuaOpCode, ((i) >> POS_OP) & MASK1(SIZE_OP, 0)))
 
#define SET_OPCODE(i, o)
 
#define getarg(i, pos, size)   (cast(int, ((i) >> (pos)) & MASK1(size, 0)))
 
#define setarg(i, v, pos, size)
 
#define GETARG_A(i)   getarg(i, POS_A, SIZE_A)
 
#define SETARG_A(i, v)   setarg(i, v, POS_A, SIZE_A)
 
#define GETARG_B(i)   getarg(i, POS_B, SIZE_B)
 
#define SETARG_B(i, v)   setarg(i, v, POS_B, SIZE_B)
 
#define GETARG_C(i)   getarg(i, POS_C, SIZE_C)
 
#define SETARG_C(i, v)   setarg(i, v, POS_C, SIZE_C)
 
#define GETARG_Bx(i)   getarg(i, POS_Bx, SIZE_Bx)
 
#define SETARG_Bx(i, v)   setarg(i, v, POS_Bx, SIZE_Bx)
 
#define GETARG_Ax(i)   getarg(i, POS_Ax, SIZE_Ax)
 
#define SETARG_Ax(i, v)   setarg(i, v, POS_Ax, SIZE_Ax)
 
#define GETARG_sBx(i)   (GETARG_Bx(i) - MAXARG_sBx)
 
#define SETARG_sBx(i, b)   SETARG_Bx((i), cast(unsigned int, (b) + MAXARG_sBx))
 
#define CREATE_ABC(o, a, b, c)   ((cast(ut32, o) << POS_OP) | (cast(ut32, a) << POS_A) | (cast(ut32, b) << POS_B) | (cast(ut32, c) << POS_C))
 
#define CREATE_ABx(o, a, bc)   ((cast(ut32, o) << POS_OP) | (cast(ut32, a) << POS_A) | (cast(ut32, bc) << POS_Bx))
 
#define CREATE_Ax(o, a)   ((cast(ut32) << POS_OP) | (cast(ut32, a) << POS_Ax))
 

Enumerations

enum  LuaOpMode {
  iABC , iABx , iAsBx , iAx ,
  iABC , iABx , iAsBx , iAx ,
  isJ
}
 
enum  LuaOpCode {
  OP_MOVE , OP_LOADK , OP_LOADKX , OP_LOADBOOL ,
  OP_LOADNIL , OP_GETUPVAL , OP_GETTABUP , OP_GETTABLE ,
  OP_SETTABUP , OP_SETUPVAL , OP_SETTABLE , OP_NEWTABLE ,
  OP_SELF , OP_ADD , OP_SUB , OP_MUL ,
  OP_MOD , OP_POW , OP_DIV , OP_IDIV ,
  OP_BAND , OP_BOR , OP_BXOR , OP_SHL ,
  OP_SHR , OP_UNM , OP_BNOT , OP_NOT ,
  OP_LEN , OP_CONCAT , OP_JMP , OP_EQ ,
  OP_LT , OP_LE , OP_TEST , OP_TESTSET ,
  OP_CALL , OP_TAILCALL , OP_RETURN , OP_FORLOOP ,
  OP_FORPREP , OP_TFORCALL , OP_TFORLOOP , OP_SETLIST ,
  OP_CLOSURE , OP_VARARG , OP_EXTRAARG , OP_MOVE ,
  OP_LOADI , OP_LOADF , OP_LOADK , OP_LOADKX ,
  OP_LOADFALSE , OP_LFALSESKIP , OP_LOADTRUE , OP_LOADNIL ,
  OP_GETUPVAL , OP_SETUPVAL , OP_GETTABUP , OP_GETTABLE ,
  OP_GETI , OP_GETFIELD , OP_SETTABUP , OP_SETTABLE ,
  OP_SETI , OP_SETFIELD , OP_NEWTABLE , OP_SELF ,
  OP_ADDI , OP_ADDK , OP_SUBK , OP_MULK ,
  OP_MODK , OP_POWK , OP_DIVK , OP_IDIVK ,
  OP_BANDK , OP_BORK , OP_BXORK , OP_SHRI ,
  OP_SHLI , OP_ADD , OP_SUB , OP_MUL ,
  OP_MOD , OP_POW , OP_DIV , OP_IDIV ,
  OP_BAND , OP_BOR , OP_BXOR , OP_SHL ,
  OP_SHR , OP_MMBIN , OP_MMBINI , OP_MMBINK ,
  OP_UNM , OP_BNOT , OP_NOT , OP_LEN ,
  OP_CONCAT , OP_CLOSE , OP_TBC , OP_JMP ,
  OP_EQ , OP_LT , OP_LE , OP_EQK ,
  OP_EQI , OP_LTI , OP_LEI , OP_GTI ,
  OP_GEI , OP_TEST , OP_TESTSET , OP_CALL ,
  OP_TAILCALL , OP_RETURN , OP_RETURN0 , OP_RETURN1 ,
  OP_FORLOOP , OP_FORPREP , OP_TFORPREP , OP_TFORCALL ,
  OP_TFORLOOP , OP_SETLIST , OP_CLOSURE , OP_VARARG ,
  OP_VARARGPREP , OP_EXTRAARG
}
 

Macro Definition Documentation

◆ cast

#define cast (   x,
 
)    ((x)(y))

Definition at line 166 of file arch_53.h.

◆ CREATE_ABC

#define CREATE_ABC (   o,
  a,
  b,
  c 
)    ((cast(ut32, o) << POS_OP) | (cast(ut32, a) << POS_A) | (cast(ut32, b) << POS_B) | (cast(ut32, c) << POS_C))

Definition at line 194 of file arch_53.h.

◆ CREATE_ABx

#define CREATE_ABx (   o,
  a,
  bc 
)    ((cast(ut32, o) << POS_OP) | (cast(ut32, a) << POS_A) | (cast(ut32, bc) << POS_Bx))

Definition at line 196 of file arch_53.h.

◆ CREATE_Ax

#define CREATE_Ax (   o,
  a 
)    ((cast(ut32) << POS_OP) | (cast(ut32, a) << POS_Ax))

Definition at line 198 of file arch_53.h.

◆ GET_OPCODE

#define GET_OPCODE (   i)    (cast(LuaOpCode, ((i) >> POS_OP) & MASK1(SIZE_OP, 0)))

Definition at line 168 of file arch_53.h.

◆ getarg

#define getarg (   i,
  pos,
  size 
)    (cast(int, ((i) >> (pos)) & MASK1(size, 0)))

Definition at line 172 of file arch_53.h.

◆ GETARG_A

#define GETARG_A (   i)    getarg(i, POS_A, SIZE_A)

Definition at line 176 of file arch_53.h.

◆ GETARG_Ax

#define GETARG_Ax (   i)    getarg(i, POS_Ax, SIZE_Ax)

Definition at line 188 of file arch_53.h.

◆ GETARG_B

#define GETARG_B (   i)    getarg(i, POS_B, SIZE_B)

Definition at line 179 of file arch_53.h.

◆ GETARG_Bx

#define GETARG_Bx (   i)    getarg(i, POS_Bx, SIZE_Bx)

Definition at line 185 of file arch_53.h.

◆ GETARG_C

#define GETARG_C (   i)    getarg(i, POS_C, SIZE_C)

Definition at line 182 of file arch_53.h.

◆ GETARG_sBx

#define GETARG_sBx (   i)    (GETARG_Bx(i) - MAXARG_sBx)

Definition at line 191 of file arch_53.h.

◆ has_param_flag

#define has_param_flag (   flag,
  bit 
)    ((flag) & (bit)) ? true : false

Definition at line 45 of file arch_53.h.

◆ LUA_NUM_OPCODES

#define LUA_NUM_OPCODES   ((int)(OP_EXTRAARG) + 1)

Definition at line 131 of file arch_53.h.

◆ LUAI_BITSINT

#define LUAI_BITSINT   32

Definition at line 135 of file arch_53.h.

◆ MASK0

#define MASK0 (   n,
  p 
)    (~MASK1(n, p))

Definition at line 164 of file arch_53.h.

◆ MASK1

#define MASK1 (   n,
  p 
)    ((~((~0u) << (n))) << (p))

Definition at line 161 of file arch_53.h.

◆ MAX_INT

#define MAX_INT   INT_MAX /* maximum value of an int */

Definition at line 133 of file arch_53.h.

◆ MAXARG_A

#define MAXARG_A   ((1 << SIZE_A) - 1)

Definition at line 156 of file arch_53.h.

◆ MAXARG_Ax

#define MAXARG_Ax   ((1 << SIZE_Ax) - 1)

Definition at line 151 of file arch_53.h.

◆ MAXARG_B

#define MAXARG_B   ((1 << SIZE_B) - 1)

Definition at line 157 of file arch_53.h.

◆ MAXARG_Bx

#define MAXARG_Bx   ((1 << SIZE_Bx) - 1)

Definition at line 143 of file arch_53.h.

◆ MAXARG_C

#define MAXARG_C   ((1 << SIZE_C) - 1)

Definition at line 158 of file arch_53.h.

◆ MAXARG_sBx

#define MAXARG_sBx   (MAXARG_Bx >> 1) /* 'sBx' is signed */

Definition at line 144 of file arch_53.h.

◆ PARAM_A

#define PARAM_A   1

Definition at line 38 of file arch_53.h.

◆ PARAM_Ax

#define PARAM_Ax   8

Definition at line 41 of file arch_53.h.

◆ PARAM_B

#define PARAM_B   2

Definition at line 39 of file arch_53.h.

◆ PARAM_Bx

#define PARAM_Bx   16

Definition at line 42 of file arch_53.h.

◆ PARAM_C

#define PARAM_C   4

Definition at line 40 of file arch_53.h.

◆ PARAM_sBx

#define PARAM_sBx   32

Definition at line 43 of file arch_53.h.

◆ POS_A

#define POS_A   (POS_OP + SIZE_OP)

Definition at line 56 of file arch_53.h.

◆ POS_Ax

#define POS_Ax   POS_A

Definition at line 60 of file arch_53.h.

◆ POS_B

#define POS_B   (POS_C + SIZE_C)

Definition at line 58 of file arch_53.h.

◆ POS_Bx

#define POS_Bx   POS_C

Definition at line 59 of file arch_53.h.

◆ POS_C

#define POS_C   (POS_A + SIZE_A)

Definition at line 57 of file arch_53.h.

◆ POS_OP

#define POS_OP   0

Definition at line 55 of file arch_53.h.

◆ SET_OPCODE

#define SET_OPCODE (   i,
 
)
Value:
((i) = (((i)&MASK0(SIZE_OP, POS_OP)) | \
((cast(ut32, o) << POS_OP) & MASK1(SIZE_OP, POS_OP))))
lzma_index ** i
Definition: index.h:629
#define SIZE_OP
Definition: arch_53.h:53
#define cast(x, y)
Definition: arch_53.h:166
#define POS_OP
Definition: arch_53.h:55
#define MASK0(n, p)
Definition: arch_53.h:164
#define MASK1(n, p)
Definition: arch_53.h:161
uint32_t ut32

Definition at line 169 of file arch_53.h.

◆ setarg

#define setarg (   i,
  v,
  pos,
  size 
)
Value:
((i) = (((i)&MASK0(size, pos)) | \
((cast(ut32, v) << (pos)) & MASK1(size, pos))))
const char * v
Definition: dsignal.c:12
voidpf void uLong size
Definition: ioapi.h:138
int pos
Definition: main.c:11

Definition at line 173 of file arch_53.h.

◆ SETARG_A

#define SETARG_A (   i,
  v 
)    setarg(i, v, POS_A, SIZE_A)

Definition at line 177 of file arch_53.h.

◆ SETARG_Ax

#define SETARG_Ax (   i,
  v 
)    setarg(i, v, POS_Ax, SIZE_Ax)

Definition at line 189 of file arch_53.h.

◆ SETARG_B

#define SETARG_B (   i,
  v 
)    setarg(i, v, POS_B, SIZE_B)

Definition at line 180 of file arch_53.h.

◆ SETARG_Bx

#define SETARG_Bx (   i,
  v 
)    setarg(i, v, POS_Bx, SIZE_Bx)

Definition at line 186 of file arch_53.h.

◆ SETARG_C

#define SETARG_C (   i,
  v 
)    setarg(i, v, POS_C, SIZE_C)

Definition at line 183 of file arch_53.h.

◆ SETARG_sBx

#define SETARG_sBx (   i,
  b 
)    SETARG_Bx((i), cast(unsigned int, (b) + MAXARG_sBx))

Definition at line 192 of file arch_53.h.

◆ SIZE_A

#define SIZE_A   8

Definition at line 51 of file arch_53.h.

◆ SIZE_Ax

#define SIZE_Ax   (SIZE_C + SIZE_B + SIZE_A)

Definition at line 52 of file arch_53.h.

◆ SIZE_B

#define SIZE_B   9

Definition at line 49 of file arch_53.h.

◆ SIZE_Bx

#define SIZE_Bx   (SIZE_C + SIZE_B)

Definition at line 50 of file arch_53.h.

◆ SIZE_C

#define SIZE_C   9

Definition at line 48 of file arch_53.h.

◆ SIZE_OP

#define SIZE_OP   6

Definition at line 53 of file arch_53.h.

Enumeration Type Documentation

◆ LuaOpCode

enum LuaOpCode
Enumerator
OP_MOVE 
OP_LOADK 
OP_LOADKX 
OP_LOADBOOL 
OP_LOADNIL 
OP_GETUPVAL 
OP_GETTABUP 
OP_GETTABLE 
OP_SETTABUP 
OP_SETUPVAL 
OP_SETTABLE 
OP_NEWTABLE 
OP_SELF 
OP_ADD 
OP_SUB 
OP_MUL 
OP_MOD 
OP_POW 
OP_DIV 
OP_IDIV 
OP_BAND 
OP_BOR 
OP_BXOR 
OP_SHL 
OP_SHR 
OP_UNM 
OP_BNOT 
OP_NOT 
OP_LEN 
OP_CONCAT 
OP_JMP 
OP_EQ 
OP_LT 
OP_LE 
OP_TEST 
OP_TESTSET 
OP_CALL 
OP_TAILCALL 
OP_RETURN 
OP_FORLOOP 
OP_FORPREP 
OP_TFORCALL 
OP_TFORLOOP 
OP_SETLIST 
OP_CLOSURE 
OP_VARARG 
OP_EXTRAARG 
OP_MOVE 
OP_LOADI 
OP_LOADF 
OP_LOADK 
OP_LOADKX 
OP_LOADFALSE 
OP_LFALSESKIP 
OP_LOADTRUE 
OP_LOADNIL 
OP_GETUPVAL 
OP_SETUPVAL 
OP_GETTABUP 
OP_GETTABLE 
OP_GETI 
OP_GETFIELD 
OP_SETTABUP 
OP_SETTABLE 
OP_SETI 
OP_SETFIELD 
OP_NEWTABLE 
OP_SELF 
OP_ADDI 
OP_ADDK 
OP_SUBK 
OP_MULK 
OP_MODK 
OP_POWK 
OP_DIVK 
OP_IDIVK 
OP_BANDK 
OP_BORK 
OP_BXORK 
OP_SHRI 
OP_SHLI 
OP_ADD 
OP_SUB 
OP_MUL 
OP_MOD 
OP_POW 
OP_DIV 
OP_IDIV 
OP_BAND 
OP_BOR 
OP_BXOR 
OP_SHL 
OP_SHR 
OP_MMBIN 
OP_MMBINI 
OP_MMBINK 
OP_UNM 
OP_BNOT 
OP_NOT 
OP_LEN 
OP_CONCAT 
OP_CLOSE 
OP_TBC 
OP_JMP 
OP_EQ 
OP_LT 
OP_LE 
OP_EQK 
OP_EQI 
OP_LTI 
OP_LEI 
OP_GTI 
OP_GEI 
OP_TEST 
OP_TESTSET 
OP_CALL 
OP_TAILCALL 
OP_RETURN 
OP_RETURN0 
OP_RETURN1 
OP_FORLOOP 
OP_FORPREP 
OP_TFORPREP 
OP_TFORCALL 
OP_TFORLOOP 
OP_SETLIST 
OP_CLOSURE 
OP_VARARG 
OP_VARARGPREP 
OP_EXTRAARG 

Definition at line 62 of file arch_53.h.

62  {
63  /*----------------------------------------------------------------------
64 name args description
65 ------------------------------------------------------------------------*/
66  OP_MOVE, /* A B R(A) := R(B) */
67  OP_LOADK, /* A Bx R(A) := Kst(Bx) */
68  OP_LOADKX, /* A R(A) := Kst(extra arg) */
69  OP_LOADBOOL, /* A B C R(A) := (Bool)B; if (C) pc++ */
70  OP_LOADNIL, /* A B R(A), R(A+1), ..., R(A+B) := nil */
71  OP_GETUPVAL, /* A B R(A) := UpValue[B] */
72 
73  OP_GETTABUP, /* A B C R(A) := UpValue[B][RK(C)] */
74  OP_GETTABLE, /* A B C R(A) := R(B)[RK(C)] */
75 
76  OP_SETTABUP, /* A B C UpValue[A][RK(B)] := RK(C) */
77  OP_SETUPVAL, /* A B UpValue[B] := R(A) */
78  OP_SETTABLE, /* A B C R(A)[RK(B)] := RK(C) */
79 
80  OP_NEWTABLE, /* A B C R(A) := {} (size = B,C) */
81 
82  OP_SELF, /* A B C R(A+1) := R(B); R(A) := R(B)[RK(C)] */
83 
84  OP_ADD, /* A B C R(A) := RK(B) + RK(C) */
85  OP_SUB, /* A B C R(A) := RK(B) - RK(C) */
86  OP_MUL, /* A B C R(A) := RK(B) * RK(C) */
87  OP_MOD, /* A B C R(A) := RK(B) % RK(C) */
88  OP_POW, /* A B C R(A) := RK(B) ^ RK(C) */
89  OP_DIV, /* A B C R(A) := RK(B) / RK(C) */
90  OP_IDIV, /* A B C R(A) := RK(B) // RK(C) */
91  OP_BAND, /* A B C R(A) := RK(B) & RK(C) */
92  OP_BOR, /* A B C R(A) := RK(B) | RK(C) */
93  OP_BXOR, /* A B C R(A) := RK(B) ~ RK(C) */
94  OP_SHL, /* A B C R(A) := RK(B) << RK(C) */
95  OP_SHR, /* A B C R(A) := RK(B) >> RK(C) */
96  OP_UNM, /* A B R(A) := -R(B) */
97  OP_BNOT, /* A B R(A) := ~R(B) */
98  OP_NOT, /* A B R(A) := not R(B) */
99  OP_LEN, /* A B R(A) := length of R(B) */
100 
101  OP_CONCAT, /* A B C R(A) := R(B).. ... ..R(C) */
102 
103  OP_JMP, /* A sBx pc+=sBx; if (A) close all upvalues >= R(A - 1) */
104  OP_EQ, /* A B C if ((RK(B) == RK(C)) ~= A) then pc++ */
105  OP_LT, /* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */
106  OP_LE, /* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */
107 
108  OP_TEST, /* A C if not (R(A) <=> C) then pc++ */
109  OP_TESTSET, /* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */
110 
111  OP_CALL, /* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */
112  OP_TAILCALL, /* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */
113  OP_RETURN, /* A B return R(A), ... ,R(A+B-2) (see note) */
114 
115  OP_FORLOOP, /* A sBx R(A)+=R(A+2);
116  if R(A) <?= R(A+1) then { pc+=sBx; R(A+3)=R(A) }*/
117  OP_FORPREP, /* A sBx R(A)-=R(A+2); pc+=sBx */
118 
119  OP_TFORCALL, /* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2)); */
120  OP_TFORLOOP, /* A sBx if R(A+1) ~= nil then { R(A)=R(A+1); pc += sBx }*/
121 
122  OP_SETLIST, /* A B C R(A)[(C-1)*FPF+i] := R(A+i), 1 <= i <= B */
123 
124  OP_CLOSURE, /* A Bx R(A) := closure(KPROTO[Bx]) */
125 
126  OP_VARARG, /* A B R(A), R(A+1), ..., R(A+B-2) = vararg */
127 
128  OP_EXTRAARG /* Ax extra (larger) argument for previous opcode */
129 } LuaOpCode;
LuaOpCode
Definition: arch_53.h:62
@ OP_SETLIST
Definition: arch_53.h:122
@ OP_CALL
Definition: arch_53.h:111
@ OP_EQ
Definition: arch_53.h:104
@ OP_VARARG
Definition: arch_53.h:126
@ OP_CONCAT
Definition: arch_53.h:101
@ OP_BOR
Definition: arch_53.h:92
@ OP_SETTABLE
Definition: arch_53.h:78
@ OP_POW
Definition: arch_53.h:88
@ OP_NOT
Definition: arch_53.h:98
@ OP_TESTSET
Definition: arch_53.h:109
@ OP_MOD
Definition: arch_53.h:87
@ OP_CLOSURE
Definition: arch_53.h:124
@ OP_SETUPVAL
Definition: arch_53.h:77
@ OP_FORPREP
Definition: arch_53.h:117
@ OP_LEN
Definition: arch_53.h:99
@ OP_LOADNIL
Definition: arch_53.h:70
@ OP_BAND
Definition: arch_53.h:91
@ OP_SELF
Definition: arch_53.h:82
@ OP_SUB
Definition: arch_53.h:85
@ OP_DIV
Definition: arch_53.h:89
@ OP_SHR
Definition: arch_53.h:95
@ OP_LT
Definition: arch_53.h:105
@ OP_TFORLOOP
Definition: arch_53.h:120
@ OP_SHL
Definition: arch_53.h:94
@ OP_TEST
Definition: arch_53.h:108
@ OP_TFORCALL
Definition: arch_53.h:119
@ OP_ADD
Definition: arch_53.h:84
@ OP_FORLOOP
Definition: arch_53.h:115
@ OP_MUL
Definition: arch_53.h:86
@ OP_GETTABLE
Definition: arch_53.h:74
@ OP_LOADK
Definition: arch_53.h:67
@ OP_GETUPVAL
Definition: arch_53.h:71
@ OP_SETTABUP
Definition: arch_53.h:76
@ OP_IDIV
Definition: arch_53.h:90
@ OP_GETTABUP
Definition: arch_53.h:73
@ OP_LE
Definition: arch_53.h:106
@ OP_RETURN
Definition: arch_53.h:113
@ OP_BNOT
Definition: arch_53.h:97
@ OP_MOVE
Definition: arch_53.h:66
@ OP_UNM
Definition: arch_53.h:96
@ OP_EXTRAARG
Definition: arch_53.h:128
@ OP_LOADKX
Definition: arch_53.h:68
@ OP_NEWTABLE
Definition: arch_53.h:80
@ OP_LOADBOOL
Definition: arch_53.h:69
@ OP_BXOR
Definition: arch_53.h:93
@ OP_JMP
Definition: arch_53.h:103
@ OP_TAILCALL
Definition: arch_53.h:112

◆ LuaOpMode

enum LuaOpMode
Enumerator
iABC 
iABx 
iAsBx 
iAx 
iABC 
iABx 
iAsBx 
iAx 
isJ 

Definition at line 30 of file arch_53.h.

30  {
31  iABC,
32  iABx,
33  iAsBx,
34  iAx
35 } LuaOpMode;
LuaOpMode
Definition: arch_53.h:30
@ iAx
Definition: arch_53.h:34
@ iABC
Definition: arch_53.h:31
@ iAsBx
Definition: arch_53.h:33
@ iABx
Definition: arch_53.h:32