summaryrefslogtreecommitdiff
path: root/src/arch/instruction-int.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2014-08-05 20:19:08 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2014-08-05 20:19:08 (GMT)
commit56ee4d3ecddeee05f11083fcc1595e3756b91790 (patch)
tree5ec6e5449214093280629047c36016a0de09cbeb /src/arch/instruction-int.h
parenta2eb5483fe74923e488013b2d8b94ded6340499e (diff)
Defined the first steps for a new disassembling approach.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@387 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/instruction-int.h')
-rw-r--r--src/arch/instruction-int.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/arch/instruction-int.h b/src/arch/instruction-int.h
index 98f1eea..076eec2 100644
--- a/src/arch/instruction-int.h
+++ b/src/arch/instruction-int.h
@@ -39,7 +39,7 @@ typedef void (* get_instruction_rw_regs_fc) (const GArchInstruction *, GArchRegi
typedef void (* print_instruction_fc) (const GArchInstruction *, GCodeBuffer *, MemoryDataSize, const bin_t *, AsmSyntax);
/* Traduit une instruction en version humainement lisible. */
-typedef const char * (* get_instruction_text_fc) (const GArchInstruction *, const GExeFormat *, AsmSyntax);
+typedef const char * (* get_instruction_keyword_fc) (const GArchInstruction *, AsmSyntax);
/* Informe sur une éventuelle référence à une autre instruction. */
typedef InstructionLinkType (* get_instruction_link_fc) (const GArchInstruction *, vmpa_t *);
@@ -55,6 +55,7 @@ struct _GArchInstruction
DL_LIST_ITEM(flow); /* Maillon de liste chaînée */
+ vmpa2t address2; /* Position associée */
off_t offset; /* Position physique de départ */
off_t length; /* Taille de l'instruction */
@@ -72,8 +73,8 @@ struct _GArchInstruction
size_t to_count; /* Nombre de ces destinations */
get_instruction_rw_regs_fc get_rw_regs; /* Liste des registres liés */
- print_instruction_fc print; /* Imprime l'ensemble */
- get_instruction_text_fc get_text; /* Texte humain équivalent */
+ //print_instruction_fc print; /* Imprime l'ensemble */
+ //get_instruction_keyword_fc get_key; /* Texte humain équivalent */
get_instruction_link_fc get_link; /* Référence à une instruction */
is_instruction_return_fc is_return; /* Retour de fonction ou pas ? */
decomp_instr_fc decomp; /* Procédure de décompilation */
@@ -86,6 +87,9 @@ struct _GArchInstructionClass
{
GObjectClass parent; /* A laisser en premier */
+ print_instruction_fc print; /* Imprime l'ensemble */
+ get_instruction_keyword_fc get_key; /* Texte humain équivalent */
+
};