Lines Matching +full:7 +full:k
15 All instructions have an opcode in the first 7 bits.
19 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
20 iABC C(8) | B(8) |k| A(8) | Op(7) |
21 iABx Bx(17) | A(8) | Op(7) |
22 iAsBx sBx (signed)(17) | A(8) | Op(7) |
23 iAx Ax(25) | Op(7) |
24 isJ sJ (signed)(25) | Op(7) |
26 A signed argument is represented in excess K: the represented value is
27 the written unsigned value minus K, where K is half the maximum for the
45 #define SIZE_OP 7
156 #define CREATE_ABCk(o,a,b,c,k) ((cast(Instruction, o)<<POS_OP) \ argument
160 | (cast(Instruction, k)<<POS_k))
169 #define CREATE_sJ(o,j,k) ((cast(Instruction, o) << POS_OP) \ argument
171 | (cast(Instruction, k) << POS_k))
187 ** K[x] - constant (in constant table)
188 ** RK(x) == if k(i) then K[x] else R[x]
204 OP_LOADK,/* A Bx R[A] := K[Bx] */
205 OP_LOADKX,/* A R[A] := K[extra arg] */
213 OP_GETTABUP,/* A B C R[A] := UpValue[B][K[C]:string] */
216 OP_GETFIELD,/* A B C R[A] := R[B][K[C]:string] */
218 OP_SETTABUP,/* A B C UpValue[A][K[B]:string] := RK(C) */
221 OP_SETFIELD,/* A B C R[A][K[B]:string] := RK(C) */
223 OP_NEWTABLE,/* A B C k R[A] := {} */
229 OP_ADDK,/* A B C R[A] := R[B] + K[C]:number */
230 OP_SUBK,/* A B C R[A] := R[B] - K[C]:number */
231 OP_MULK,/* A B C R[A] := R[B] * K[C]:number */
232 OP_MODK,/* A B C R[A] := R[B] % K[C]:number */
233 OP_POWK,/* A B C R[A] := R[B] ^ K[C]:number */
234 OP_DIVK,/* A B C R[A] := R[B] / K[C]:number */
235 OP_IDIVK,/* A B C R[A] := R[B] // K[C]:number */
237 OP_BANDK,/* A B C R[A] := R[B] & K[C]:integer */
238 OP_BORK,/* A B C R[A] := R[B] | K[C]:integer */
239 OP_BXORK,/* A B C R[A] := R[B] ~ K[C]:integer */
259 OP_MMBINI,/* A sB C k call C metamethod over R[A] and sB */
260 OP_MMBINK,/* A B C k call C metamethod over R[A] and K[B] */
272 OP_EQ,/* A B k if ((R[A] == R[B]) ~= k) then pc++ */
273 OP_LT,/* A B k if ((R[A] < R[B]) ~= k) then pc++ */
274 OP_LE,/* A B k if ((R[A] <= R[B]) ~= k) then pc++ */
276 OP_EQK,/* A B k if ((R[A] == K[B]) ~= k) then pc++ */
277 OP_EQI,/* A sB k if ((R[A] == sB) ~= k) then pc++ */
278 OP_LTI,/* A sB k if ((R[A] < sB) ~= k) then pc++ */
279 OP_LEI,/* A sB k if ((R[A] <= sB) ~= k) then pc++ */
280 OP_GTI,/* A sB k if ((R[A] > sB) ~= k) then pc++ */
281 OP_GEI,/* A sB k if ((R[A] >= sB) ~= k) then pc++ */
283 OP_TEST,/* A k if (not R[A] == k) then pc++ */
284 OP_TESTSET,/* A B k if (not R[B] == k) then pc++ else R[A] := R[B] (*) */
287 OP_TAILCALL,/* A B C k return R[A](R[A+1], ... ,R[A+B-1]) */
289 OP_RETURN,/* A B C k return R[A], ... ,R[A+B-2] (see note) */
301 OP_SETLIST,/* A B C k R[A][C+i] := R[A+i], 1 <= i <= B */
343 (*) In OP_SETLIST, if (B == 0) then real B = 'top'; if k, then
348 power of 2) plus 1, or zero for size zero. If not k, the array size
351 (*) For comparisons, k specifies what condition the test should accept
354 (*) In OP_MMBINI/OP_MMBINK, k means the arguments were flipped
359 (*) In instructions OP_RETURN/OP_TAILCALL, 'k' specifies that the
378 ** bit 7: instruction is an MM instruction (call a metamethod)
383 #define getOpMode(m) (cast(enum OpMode, luaP_opmodes[m] & 7))
388 #define testMMMode(m) (luaP_opmodes[m] & (1 << 7))
399 (((mm) << 7) | ((ot) << 6) | ((it) << 5) | ((t) << 4) | ((a) << 3) | (m))