aboutsummaryrefslogtreecommitdiffstats
path: root/tools/edis/EDOperand.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/edis/EDOperand.h')
-rw-r--r--tools/edis/EDOperand.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/edis/EDOperand.h b/tools/edis/EDOperand.h
index 32d3a5e..ad9345b 100644
--- a/tools/edis/EDOperand.h
+++ b/tools/edis/EDOperand.h
@@ -54,6 +54,19 @@ struct EDOperand {
int evaluate(uint64_t &result,
EDRegisterReaderCallback callback,
void *arg);
+
+ /// isRegister - Returns 1 if the operand is a register or 0 otherwise
+ int isRegister();
+ /// regVal - Returns the register value.
+ unsigned regVal();
+
+ /// isImmediate - Returns 1 if the operand is an immediate or 0 otherwise
+ int isImmediate();
+ /// immediateVal - Returns the immediate value.
+ uint64_t immediateVal();
+
+ /// isMemory - Returns 1 if the operand is a memory location or 0 otherwise
+ int isMemory();
#ifdef __BLOCKS__
/// evaluate - Like evaluate for a callback, but uses a block instead