1 | // Licensed to the .NET Foundation under one or more agreements. |
2 | // The .NET Foundation licenses this file to you under the MIT license. |
3 | // See the LICENSE file in the project root for more information. |
4 | #ifndef __asmenum_h__ |
5 | #define |
6 | |
7 | #include "openum.h" |
8 | |
9 | typedef struct |
10 | { |
11 | const char * pszName; |
12 | OPCODE op; |
13 | |
14 | BYTE Type; // Inline0 etc. |
15 | |
16 | BYTE Len; // std mapping |
17 | BYTE Std1; |
18 | BYTE Std2; |
19 | } opcodeinfo_t; |
20 | |
21 | #ifdef DECLARE_DATA |
22 | opcodeinfo_t OpcodeInfo[] = |
23 | { |
24 | #define OPALIAS(c,s,real) { s, real, 0, 0, 0, 0 }, |
25 | #define OPDEF(c,s,pop,push,args,type,l,s1,s2,ctrl) { s, c, args,l,s1,s2 }, |
26 | #include "opcode.def" |
27 | #undef OPDEF |
28 | #undef OPALIAS |
29 | }; |
30 | |
31 | unsigned OpcodeInfoLen = sizeof(OpcodeInfo) / sizeof(opcodeinfo_t); |
32 | #else |
33 | extern opcodeinfo_t OpcodeInfo[]; |
34 | extern unsigned OpcodeInfoLen; |
35 | #endif |
36 | |
37 | |
38 | |
39 | #endif /* __openum_h__ */ |
40 | |
41 | |
42 | |