A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Category | Opcode | Instruction | ||||||||||||||||||||
2 | Control (Basic) | 00 | unreachable | ||||||||||||||||||||
3 | 01 | nop | |||||||||||||||||||||
4 | Control (Blockish) | 02 | block | ||||||||||||||||||||
5 | 03 | loop | |||||||||||||||||||||
6 | 04 | if | |||||||||||||||||||||
7 | 05 | else | |||||||||||||||||||||
8 | 06 | ...space for future ones, e.g. try)... | |||||||||||||||||||||
9 | 07 | ||||||||||||||||||||||
10 | 08 | ||||||||||||||||||||||
11 | 09 | ||||||||||||||||||||||
12 | 0A | ||||||||||||||||||||||
13 | 0B | end | |||||||||||||||||||||
14 | Control (Branches) | 0C | br | ||||||||||||||||||||
15 | 0D | br_if | |||||||||||||||||||||
16 | 0E | br_table | |||||||||||||||||||||
17 | 0F | return | |||||||||||||||||||||
18 | Control (Calls) | 10 | call | ||||||||||||||||||||
19 | 11 | call_indirect | |||||||||||||||||||||
20 | 12 | ...space for future calls (e.g., tail calls)... | |||||||||||||||||||||
21 | 13 | ||||||||||||||||||||||
22 | 14 | ||||||||||||||||||||||
23 | 15 | ||||||||||||||||||||||
24 | 16 | ||||||||||||||||||||||
25 | 17 | ||||||||||||||||||||||
26 | 18 | ||||||||||||||||||||||
27 | 19 | ||||||||||||||||||||||
28 | Parametric | 1A | drop | ||||||||||||||||||||
29 | 1B | select | |||||||||||||||||||||
30 | 1C | ...space for future ones (e.g. dup or pick)... | |||||||||||||||||||||
31 | 1D | ||||||||||||||||||||||
32 | 1E | ||||||||||||||||||||||
33 | 1F | ||||||||||||||||||||||
34 | Variables | 20 | get_local | ||||||||||||||||||||
35 | 21 | set_local | |||||||||||||||||||||
36 | 22 | tee_local | |||||||||||||||||||||
37 | 23 | get_global | |||||||||||||||||||||
38 | 24 | set_global | |||||||||||||||||||||
39 | 25 | ...space for future ones (e.g., thread-local)... | |||||||||||||||||||||
40 | 26 | ||||||||||||||||||||||
41 | 27 | ||||||||||||||||||||||
42 | Memory (Plain Loads) | 28 | i32.load | ||||||||||||||||||||
43 | 29 | i64.load | |||||||||||||||||||||
44 | 2A | f32.load | |||||||||||||||||||||
45 | 2B | f64.load | |||||||||||||||||||||
46 | Memory (Extending Loads) | 2C | i32.load8_s | ||||||||||||||||||||
47 | 2D | i32.load8_u | |||||||||||||||||||||
48 | 2E | i32.load16_s | |||||||||||||||||||||
49 | 2F | i32.load16_u | |||||||||||||||||||||
50 | 30 | i64.load8_s | |||||||||||||||||||||
51 | 31 | i64.load8_u | |||||||||||||||||||||
52 | 32 | i64.load16_s | |||||||||||||||||||||
53 | 33 | i64.load16_u | |||||||||||||||||||||
54 | 34 | i64.load32_s | |||||||||||||||||||||
55 | 35 | i64.load32_u | |||||||||||||||||||||
56 | Memory (Plain Stores) | 36 | i32.store | ||||||||||||||||||||
57 | 37 | i64.store | |||||||||||||||||||||
58 | 38 | f32.store | |||||||||||||||||||||
59 | 39 | f64.store | |||||||||||||||||||||
60 | Memory (Truncating Stores) | 3A | i32.store8 | ||||||||||||||||||||
61 | 3B | i32.store16 | |||||||||||||||||||||
62 | 3C | i64.store8 | |||||||||||||||||||||
63 | 3D | i64.store16 | |||||||||||||||||||||
64 | 3E | i64.store32 | |||||||||||||||||||||
65 | Memory (Size) | 3F | current_memory | ||||||||||||||||||||
66 | 40 | grow_memory | |||||||||||||||||||||
67 | numerics (Constants) | 41 | i32.const | ||||||||||||||||||||
68 | 42 | i64.const | |||||||||||||||||||||
69 | 43 | f32.const | |||||||||||||||||||||
70 | 44 | f64.const | |||||||||||||||||||||
71 | Numerics (Tests & Comparisons) | 45 | i32.eqz | ||||||||||||||||||||
72 | 46 | i32.eq | |||||||||||||||||||||
73 | 47 | i32.ne | |||||||||||||||||||||
74 | 48 | i32.lt_s | |||||||||||||||||||||
75 | 49 | i32.lt_u | |||||||||||||||||||||
76 | 4A | i32.gt_s | |||||||||||||||||||||
77 | 4B | i32.gt_u | |||||||||||||||||||||
78 | 4C | i32.le_s | |||||||||||||||||||||
79 | 4D | i32.le_u | |||||||||||||||||||||
80 | 4E | i32.ge_s | |||||||||||||||||||||
81 | 4F | i32.ge_u | |||||||||||||||||||||
82 | 50 | i64.eqz | |||||||||||||||||||||
83 | 51 | i64.eq | |||||||||||||||||||||
84 | 52 | i64.ne | |||||||||||||||||||||
85 | 53 | i64.lt_s | |||||||||||||||||||||
86 | 54 | i64.lt_u | |||||||||||||||||||||
87 | 55 | i64.gt_s | |||||||||||||||||||||
88 | 56 | i64.gt_u | |||||||||||||||||||||
89 | 57 | i64.le_s | |||||||||||||||||||||
90 | 58 | i64.le_u | |||||||||||||||||||||
91 | 59 | i64.ge_s | |||||||||||||||||||||
92 | 5A | i64.ge_u | |||||||||||||||||||||
93 | 5B | f32.eq | |||||||||||||||||||||
94 | 5C | f32.ne | |||||||||||||||||||||
95 | 5D | f32.lt | |||||||||||||||||||||
96 | 5E | f32.gt | |||||||||||||||||||||
97 | 5F | f32.le | |||||||||||||||||||||
98 | 60 | f32.ge | |||||||||||||||||||||
99 | 61 | f64.eq | |||||||||||||||||||||
100 | 62 | f64.ne |