summaryrefslogtreecommitdiff
path: root/src/arch/instruction.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/instruction.h')
-rw-r--r--src/arch/instruction.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/arch/instruction.h b/src/arch/instruction.h
index 6c04acb..78f0cdb 100644
--- a/src/arch/instruction.h
+++ b/src/arch/instruction.h
@@ -54,12 +54,18 @@ typedef struct _GArchInstructionClass GArchInstructionClass;
/* Drapeaux pour informations complémentaires */
+
+#define AIF_USER_BIT 3
+
typedef enum _ArchInstrFlag
{
AIF_NONE = (0 << 0), /* Aucune information */
AIF_ROUTINE_START = (1 << 0), /* Début de routine */
AIF_RETURN_POINT = (1 << 1), /* Retour de fonction appelée */
- AIF_CALL = (1 << 2) /* Instruction d'appel */
+ AIF_CALL = (1 << 2), /* Instruction d'appel */
+
+ AIF_LOW_USER = (1 << AIF_USER_BIT), /* Premier bit disponible */
+ AIF_HIGH_USER = (1 << 14), /* Dernier bit disponible */
} ArchInstrFlag;
@@ -87,6 +93,9 @@ const char *g_arch_instruction_get_encoding(const GArchInstruction *);
/* Ajoute une information complémentaire à une instruction. */
bool g_arch_instruction_set_flag(GArchInstruction *, ArchInstrFlag);
+/* Retire une information complémentaire à une instruction. */
+bool g_arch_instruction_unset_flag(GArchInstruction *, ArchInstrFlag);
+
/* Détermine si une instruction possède un fanion particulier. */
bool g_arch_instruction_has_flag(const GArchInstruction *, ArchInstrFlag);