Add an immediate type for values up to 256 bits
This commit is contained in:
parent
ff3f310ca0
commit
4ab03a0290
|
@ -58,9 +58,10 @@ typedef enum _AsmArchOperandType
|
||||||
AOT_NONE = 0x0,
|
AOT_NONE = 0x0,
|
||||||
AOT_CONSTANT = 0x1, /* flags | 0 | size | value */
|
AOT_CONSTANT = 0x1, /* flags | 0 | size | value */
|
||||||
AOT_IMMEDIATE = 0x2, /* flags | 0 | size | refers */
|
AOT_IMMEDIATE = 0x2, /* flags | 0 | size | refers */
|
||||||
AOT_REGISTER = 0x3, /* flags | 0 | size | id */
|
AOT_IMMEDIATE256= 0x3, /* flags | 0 | size | refers */
|
||||||
AOT_DREGISTER = 0x4, /* flags | dsize | rsize | id */
|
AOT_REGISTER = 0x4, /* flags | 0 | size | id */
|
||||||
AOT_DREGISTER2 = 0x5 /* flags | did | rsize | id */
|
AOT_DREGISTER = 0x5, /* flags | dsize | rsize | id */
|
||||||
|
AOT_DREGISTER2 = 0x6 /* flags | did | rsize | id */
|
||||||
} AsmArchOperandType;
|
} AsmArchOperandType;
|
||||||
|
|
||||||
/* displacement */
|
/* displacement */
|
||||||
|
@ -117,6 +118,11 @@ typedef enum _AsmArchOperandType
|
||||||
| ((flags) << AOD_FLAGS) \
|
| ((flags) << AOD_FLAGS) \
|
||||||
| ((size) << AOD_SIZE) \
|
| ((size) << AOD_SIZE) \
|
||||||
| ((type) << AOD_VALUE))
|
| ((type) << AOD_VALUE))
|
||||||
|
# define AO_IMMEDIATE256(flags, size, type) \
|
||||||
|
((AOT_IMMEDIATE256 << AOD_TYPE) \
|
||||||
|
| ((flags) << AOD_FLAGS) \
|
||||||
|
| ((size) << AOD_SIZE) \
|
||||||
|
| ((type) << AOD_VALUE))
|
||||||
# define AO_REGISTER(flags, size, id) \
|
# define AO_REGISTER(flags, size, id) \
|
||||||
((AOT_REGISTER << AOD_TYPE) \
|
((AOT_REGISTER << AOD_TYPE) \
|
||||||
| ((flags) << AOD_FLAGS) \
|
| ((flags) << AOD_FLAGS) \
|
||||||
|
@ -162,6 +168,14 @@ typedef struct _AsmArchOperand
|
||||||
int negative;
|
int negative;
|
||||||
} immediate;
|
} immediate;
|
||||||
|
|
||||||
|
/* AOT_IMMEDIATE256 */
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
char const * name; /* optional */
|
||||||
|
uint8_t value[32];
|
||||||
|
int negative;
|
||||||
|
} immediate256;
|
||||||
|
|
||||||
/* AOT_REGISTER */
|
/* AOT_REGISTER */
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user