summaryrefslogtreecommitdiff
path: root/orc/orccpuinsn.h
blob: 6a8dea899bfdc188f72953b69a8b554ad77b07b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

#ifndef _ORC_ORC_CPUINSN_H_
#define _ORC_ORC_CPUINSN_H_

#ifdef ORC_ENABLE_UNSTABLE_API

typedef struct _OrcSysInsn OrcSysInsn;
typedef struct _OrcSysOpcode OrcSysOpcode;

struct _OrcSysInsn {
  int opcode;
  int dest_reg;
  int src1_reg;
  int src2_reg;

  int immediate;

  int mem_reg;
  int memoffset;
  int indexreg;
  int shift;
  int size;
};

struct _OrcSysOpcode {
  char name[16];
  int type;
  int flags;
  orc_uint8 prefix;
  orc_uint32 code;
  int code2;
};


#define ORC_SYS_OPCODE_FLAG_FIXED (1<<0)

#endif

#endif