summaryrefslogtreecommitdiff
path: root/src/arch/x86/operand.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/operand.h')
-rw-r--r--src/arch/x86/operand.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/arch/x86/operand.h b/src/arch/x86/operand.h
index 9f4db09..cbf2ed2 100644
--- a/src/arch/x86/operand.h
+++ b/src/arch/x86/operand.h
@@ -30,6 +30,7 @@
#include "../immediate.h"
#include "../instruction.h"
+#include "registers.h"
@@ -88,9 +89,9 @@ GArchOperand *g_x86_register_operand_new_from_index(bin_t, AsmOperandSize);
#define G_TYPE_X86_MOD_RM_OPERAND g_x86_mod_rm_operand_get_type()
-#define G_X86_MOD_RM_OPERAND(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), g_x86_mod_rm_operand_get_type(), GX86ModRmOperand))
+#define G_X86_MOD_RM_OPERAND(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), g_x86_mod_rm_operand_get_type(), GX86ModRMOperand))
#define G_IS_X86_MOD_RM_OPERAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), g_x86_mod_rm_operand_get_type()))
-#define G_X86_MOD_RM_OPERAND_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE((inst), g_x86_mod_rm_operand_get_type(), GX86ModRmOperandIface))
+#define G_X86_MOD_RM_OPERAND_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE((inst), g_x86_mod_rm_operand_get_type(), GX86ModRMOperandIface))
/* Définition d'un opérande x86 de type ModRM (instance) */
@@ -106,6 +107,15 @@ GType g_x86_mod_rm_operand_get_type(void);
/* Crée un opérande x86 de type ModRM. */
GArchOperand *g_x86_mod_rm_operand_new(const bin_t *, off_t *, off_t, AsmOperandSize);
+/* Fournit l'indice et l'échelle d'un opérande x86 ModRM. */
+void g_x86_mod_rm_operand_get_scale_and_index(const GX86ModRMOperand *operand, uint8_t *, const x86_register **);
+
+/* Fournit le registre de base d'un opérande x86 ModRM. */
+const x86_register *g_x86_mod_rm_operand_get_base(const GX86ModRMOperand *);
+
+/* Fournit le décallage supplémentaire d'un opérande x86 ModRM. */
+const GImmOperand *g_x86_mod_rm_operand_get_displacement(const GX86ModRMOperand *);
+
/* ------------------------- OPERANDES D'ADRESSES RELATIVES ------------------------- */