diff options
Diffstat (limited to 'src/arch/instruction-int.h')
-rw-r--r-- | src/arch/instruction-int.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/arch/instruction-int.h b/src/arch/instruction-int.h index 72c7914..895c29f 100644 --- a/src/arch/instruction-int.h +++ b/src/arch/instruction-int.h @@ -40,11 +40,33 @@ #define DB_OPCODE 0x00 + +/* Typage des instructions rencontrées */ +typedef enum _AsmInstrType +{ + AIT_OTHER, /* Instruction inintéressante */ + + AIT_DB, /* Instruction non décodée */ + + AIT_PUSH, /* Empilement de valeur */ + AIT_POP, /* Dépilement de valeur */ + AIT_JUMP, /* Saut à une adresse */ + + AIT_CALL /* Appel d'une fonction */ + +} AsmInstrType; + + + /* Définition générique d'une instruction */ struct _asm_instr { uint8_t opcode; + uint64_t vaddress; /* Adresse virtuelle associée */ + + AsmInstrType type; /* Type d'instruction */ + asm_operand **operands; /* Liste des opérandes */ size_t operands_count; /* Nbre. d'opérandes utilisées */ |