lunajit/opcodes.txt

100 lines
3.3 KiB
Plaintext

0 _(ISLT, var, ___, var, lt) \
1 _(ISGE, var, ___, var, lt) \
2 _(ISLE, var, ___, var, le) \
3 _(ISGT, var, ___, var, le) \
4 _(ISEQV, var, ___, var, eq) \
5 _(ISNEV, var, ___, var, eq) \
6 _(ISEQS, var, ___, str, eq) \
7 _(ISNES, var, ___, str, eq) \
8 _(ISEQN, var, ___, num, eq) \
9 _(ISNEN, var, ___, num, eq) \
10 _(ISEQP, var, ___, pri, eq) \
11 _(ISNEP, var, ___, pri, eq) \
12 _(ISTC, dst, ___, var, ___) \
13 _(ISFC, dst, ___, var, ___) \
14 _(IST, ___, ___, var, ___) \
15 _(ISF, ___, ___, var, ___) \
16 _(ISTYPE, var, ___, lit, ___) \
17 _(ISNUM, var, ___, lit, ___) \
18 _(MOV, dst, ___, var, ___) \
19 _(NOT, dst, ___, var, ___) \
20 _(UNM, dst, ___, var, unm) \
21 _(LEN, dst, ___, var, len) \
22 _(ADDVN, dst, var, num, add) \
23 _(SUBVN, dst, var, num, sub) \
24 _(MULVN, dst, var, num, mul) \
25 _(DIVVN, dst, var, num, div) \
26 _(MODVN, dst, var, num, mod) \
27 _(ADDNV, dst, var, num, add) \
28 _(SUBNV, dst, var, num, sub) \
29 _(MULNV, dst, var, num, mul) \
30 _(DIVNV, dst, var, num, div) \
31 _(MODNV, dst, var, num, mod) \
32 _(ADDVV, dst, var, var, add) \
33 _(SUBVV, dst, var, var, sub) \
34 _(MULVV, dst, var, var, mul) \
35 _(DIVVV, dst, var, var, div) \
36 _(MODVV, dst, var, var, mod) \
37 _(POW, dst, var, var, pow) \
38 _(CAT, dst, rbase, rbase, concat) \
39 _(KSTR, dst, ___, str, ___) \
40 _(KCDATA, dst, ___, cdata, ___) \
41 _(KSHORT, dst, ___, lits, ___) \
42 _(KNUM, dst, ___, num, ___) \
43 _(KPRI, dst, ___, pri, ___) \
44 _(KNIL, base, ___, base, ___) \
45 _(UGET, dst, ___, uv, ___) \
46 _(USETV, uv, ___, var, ___) \
47 _(USETS, uv, ___, str, ___) \
48 _(USETN, uv, ___, num, ___) \
49 _(USETP, uv, ___, pri, ___) \
50 _(UCLO, rbase, ___, jump, ___) \
51 _(FNEW, dst, ___, func, gc) \
52 _(TNEW, dst, ___, lit, gc) \
53 _(TDUP, dst, ___, tab, gc) \
54 _(GGET, dst, ___, str, index) \
55 _(GSET, var, ___, str, newindex) \
56 _(TGETV, dst, var, var, index) \
57 _(TGETS, dst, var, str, index) \
58 _(TGETB, dst, var, lit, index) \
59 _(TGETR, dst, var, var, index) \
60 _(TSETV, var, var, var, newindex) \
61 _(TSETS, var, var, str, newindex) \
62 _(TSETB, var, var, lit, newindex) \
63 _(TSETM, base, ___, num, newindex) \
64 _(TSETR, var, var, var, newindex) \
65 _(CALLM, base, lit, lit, call) \
66 _(CALL, base, lit, lit, call) \
67 _(CALLMT, base, ___, lit, call) \
68 _(CALLT, base, ___, lit, call) \
69 _(ITERC, base, lit, lit, call) \
70 _(ITERN, base, lit, lit, call) \
71 _(VARG, base, lit, lit, ___) \
72 _(ISNEXT, base, ___, jump, ___) \
73 _(RETM, base, ___, lit, ___) \
74 _(RET, rbase, ___, lit, ___) \
75 _(RET0, rbase, ___, lit, ___) \
76 _(RET1, rbase, ___, lit, ___) \
77 _(FORI, base, ___, jump, ___) \
78 _(JFORI, base, ___, jump, ___) \
79 _(FORL, base, ___, jump, ___) \
80 _(IFORL, base, ___, jump, ___) \
81 _(JFORL, base, ___, lit, ___) \
82 _(ITERL, base, ___, jump, ___) \
83 _(IITERL, base, ___, jump, ___) \
84 _(JITERL, base, ___, lit, ___) \
85 _(LOOP, rbase, ___, jump, ___) \
86 _(ILOOP, rbase, ___, jump, ___) \
87 _(JLOOP, rbase, ___, lit, ___) \
88 _(JMP, rbase, ___, jump, ___) \
89 _(FUNCF, rbase, ___, ___, ___) \
90 _(IFUNCF, rbase, ___, ___, ___) \
91 _(JFUNCF, rbase, ___, lit, ___) \
92 _(FUNCV, rbase, ___, ___, ___) \
93 _(IFUNCV, rbase, ___, ___, ___) \
94 _(JFUNCV, rbase, ___, lit, ___) \
95 _(FUNCC, rbase, ___, ___, ___) \
96 _(FUNCCW, rbase, ___, ___, ___)