summaryrefslogtreecommitdiff
path: root/src/arch/instruction.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/instruction.c')
-rw-r--r--src/arch/instruction.c170
1 files changed, 1 insertions, 169 deletions
diff --git a/src/arch/instruction.c b/src/arch/instruction.c
index 240ffbe..b553aec 100644
--- a/src/arch/instruction.c
+++ b/src/arch/instruction.c
@@ -38,12 +38,6 @@ static void g_arch_instruction_class_init(GArchInstructionClass *);
/* Initialise une instance d'opérande d'architecture. */
static void g_arch_instruction_init(GArchInstruction *);
-/* Ajoute du texte simple à un fichier ouvert en écriture. */
-static void g_arch_instruction_add_text(const GArchInstruction *, GRenderingOptions *, MainRendering, FILE *) __attribute__ ((deprecated));
-
-/* Ajoute à un tampon GLib le contenu de l'instance spécifiée. */
-static void g_arch_instruction_to_buffer(const GArchInstruction *, GBufferLine *, GRenderingOptions *) __attribute__ ((deprecated));
-
/* --------------------- CONVERSIONS DU FORMAT DES INSTRUCTIONS --------------------- */
@@ -55,7 +49,7 @@ static void _g_arch_instruction_print(const GArchInstruction *, GCodeBuffer *, M
/* Indique le type défini pour une instruction d'architecture. */
-G_DEFINE_TYPE(GArchInstruction, g_arch_instruction, G_TYPE_CONTENT_EXPORTER);
+G_DEFINE_TYPE(GArchInstruction, g_arch_instruction, G_TYPE_OBJECT);
/******************************************************************************
@@ -90,13 +84,6 @@ static void g_arch_instruction_class_init(GArchInstructionClass *klass)
static void g_arch_instruction_init(GArchInstruction *instr)
{
- GContentExporter *parent; /* Instance parente */
-
- parent = G_CONTENT_EXPORTER(instr);
-
- parent->add_text = (add_text_fc)g_arch_instruction_add_text;
- parent->export_buffer = (export_buffer_fc)g_arch_instruction_to_buffer;
-
DL_LIST_ITEM_INIT(&instr->flow);
}
@@ -104,114 +91,6 @@ static void g_arch_instruction_init(GArchInstruction *instr)
/******************************************************************************
* *
-* Paramètres : instr = instruction à transcrire. *
-* options = options de rendu. *
-* rendering = support effectif final des lignes de code. *
-* stream = flux ouvert en écriture. *
-* *
-* Description : Ajoute du texte simple à un fichier ouvert en écriture. *
-* *
-* Retour : - *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-static void g_arch_instruction_add_text(const GArchInstruction *instr, GRenderingOptions *options, MainRendering rendering, FILE *stream)
-{
- GContentExporter *exporter; /* Autre vision de l'objet */
- const char *key; /* Mot clef principal */
- size_t klen; /* Taille de ce mot clef */
- size_t i; /* Boucle de parcours */
-
- exporter = G_CONTENT_EXPORTER(instr);
-
- key = instr->get_text(instr,
- g_rendering_options_get_format(options),
- g_rendering_options_get_syntax(options));
- klen = strlen(key);
-
- g_content_exporter_insert_text(exporter, stream, key, klen, RTT_INSTRUCTION);
-
- if (instr->operands_count > 0)
- {
- g_content_exporter_insert_text(exporter, stream, "\t", 1, RTT_NONE);
-
- g_content_exporter_add_text(G_CONTENT_EXPORTER(G_ARCH_INSTRUCTION(instr)->operands[0]),
- options, rendering, stream);
-
- for (i = 1; i < instr->operands_count; i++)
- {
- g_content_exporter_insert_text(exporter, stream, ",", 1, RTT_NONE/* FIXME */);
-
- g_content_exporter_insert_text(exporter, stream, " ", 1, RTT_NONE);
-
- g_content_exporter_add_text(G_CONTENT_EXPORTER(G_ARCH_INSTRUCTION(instr)->operands[i]),
- options, rendering, stream);
-
- }
-
- }
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : instr = instruction d'assemblage à représenter. *
-* buffer = espace où placer ledit contenu. *
-* options = options de rendu. *
-* *
-* Description : Ajoute à un tampon GLib le contenu de l'instance spécifiée. *
-* *
-* Retour : - *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-static void g_arch_instruction_to_buffer(const GArchInstruction *instr, GBufferLine *buffer, GRenderingOptions *options)
-{
- GContentExporter *exporter; /* Autre vision de l'objet */
- const char *key; /* Mot clef principal */
- size_t klen; /* Taille de ce mot clef */
- size_t i; /* Boucle de parcours */
-
- exporter = G_CONTENT_EXPORTER(instr);
-
- key = instr->get_text(instr,
- g_rendering_options_get_format(options),
- g_rendering_options_get_syntax(options));
- klen = strlen(key);
-
- g_content_exporter_insert_into_buffer(exporter, buffer, BLC_ASSEMBLY_HEAD,
- key, klen, RTT_INSTRUCTION);
-
- if (instr->operands_count > 0)
- {
- g_content_exporter_to_buffer(G_CONTENT_EXPORTER(G_ARCH_INSTRUCTION(instr)->operands[0]),
- buffer, options);
-
- for (i = 1; i < instr->operands_count; i++)
- {
- g_content_exporter_insert_into_buffer(exporter, buffer, BLC_ASSEMBLY,
- ",", 1, RTT_NONE/* FIXME */);
-
- g_content_exporter_insert_into_buffer(exporter, buffer, BLC_ASSEMBLY,
- " ", 1, RTT_NONE);
-
- g_content_exporter_to_buffer(G_CONTENT_EXPORTER(G_ARCH_INSTRUCTION(instr)->operands[i]),
- buffer, options);
-
- }
-
- }
-
-}
-
-
-/******************************************************************************
-* *
* Paramètres : instr = instruction quelconque à modifier. *
* offset = position physique dans le code binaire. *
* length = taille de l'instruction. *
@@ -385,53 +264,6 @@ void g_arch_instruction_detach_operand(GArchInstruction *instr, GArchOperand *op
}
-/******************************************************************************
-* *
-* Paramètres : instr = instruction à traiter. *
-* format = format du binaire manipulé. *
-* syntax = type de représentation demandée. *
-* *
-* Description : Traduit une instruction en version humainement lisible. *
-* *
-* Retour : Chaîne de caractères à libérer de la mémoire. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-char *g_arch_instruction_get_text(const GArchInstruction *instr, const GExeFormat *format, AsmSyntax syntax)
-{
- char *result; /* Chaîne à retourner */
- size_t i; /* Boucle de parcours */
- char *opstr; /* Chaîne d'opérande */
- return strdup("");
- if (instr->operands_count == 0)
- result = strdup(instr->get_text(instr, format, syntax));
-
- else
- {
- result = g_arch_operand_get_text(G_ARCH_INSTRUCTION(instr)->operands[0], format, syntax);
-
- for (i = 1; i < instr->operands_count; i++)
- {
- result = stradd(result, ", ");
-
- opstr = g_arch_operand_get_text(G_ARCH_INSTRUCTION(instr)->operands[i], format, syntax);
- result = stradd(result, opstr);
- free(opstr);
-
- }
-
- result = strprep(result, "\t");
- result = strprep(result, instr->get_text(instr, format, syntax));
-
- }
-
- return result;
-
-}
-
-
/* ---------------------------------------------------------------------------------- */
/* DEFINITION DES LIAISONS ENTRE INSTRUCTIONS */