diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/immediate.c | 184 | ||||
-rw-r--r-- | src/arch/instruction.c | 58 | ||||
-rw-r--r-- | src/arch/x86/operand.c | 215 | ||||
-rw-r--r-- | src/arch/x86/registers.c | 33 |
4 files changed, 0 insertions, 490 deletions
diff --git a/src/arch/immediate.c b/src/arch/immediate.c index 61dc5f5..07f848f 100644 --- a/src/arch/immediate.c +++ b/src/arch/immediate.c @@ -93,8 +93,6 @@ static void g_imm_operand_add_text(const GImmOperand *, GRenderingOptions *, Mai /* Ajoute à un tampon GLib le contenu de l'instance spécifiée. */ static void g_imm_operand_to_buffer(const GImmOperand *, GBufferLine *, GRenderingOptions *); -/* Ajoute à un texte GTK le contenu d'un opérande. */ -static void g_imm_operand_add_to_gtk_buffer(const GImmOperand *, const GExeFormat *, AsmSyntax, GtkTextBuffer *, GtkTextIter *); /* Indique le type défini pour un opérande de valeur numérique. */ @@ -140,7 +138,6 @@ static void g_imm_operand_init(GImmOperand *operand) parent->add_text = (add_text_fc)g_imm_operand_add_text; parent->export_buffer = (export_buffer_fc)g_imm_operand_to_buffer; - parent->add_arch_to_gtk_buffer = (add_arch_to_gtk_buffer_fc)g_imm_operand_add_to_gtk_buffer; } @@ -512,187 +509,6 @@ static void g_imm_operand_to_buffer(const GImmOperand *operand, GBufferLine *buf /****************************************************************************** * * -* Paramètres : operand = opérande à transcrire. * -* format = format du binaire manipulé. * -* syntax = type de représentation demandée. * -* buffer = zone de texte à venir compléter. * -* iter = point d'insertion du nouveau texte. * -* * -* Description : Ajoute à un texte GTK le contenu d'un opérande. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_imm_operand_add_to_gtk_buffer(const GImmOperand *operand, const GExeFormat *format, AsmSyntax syntax, GtkTextBuffer *buffer, GtkTextIter *iter) -{ - char value[VMPA_MAX_SIZE]; /* Chaîne à imprimer */ - vmpa_t address; /* Décallage final constaté */ - const char *label; /* Etiquette de symbole */ - SymbolType symtype; /* Type de symbole */ - char *printable; /* Version texte présentable */ - - /* Valeur brute */ - - switch (syntax) - { - case ASX_INTEL: - switch (operand->size) - { - case MDS_UNDEFINED: - snprintf(value, VMPA_MAX_SIZE, "0x???"); - break; - case AOS_8_BITS_UNSIGNED: - snprintf(value, VMPA_MAX_SIZE, "0x%hhx", operand->unsigned_imm.val8); - break; - case AOS_16_BITS_UNSIGNED: - snprintf(value, VMPA_MAX_SIZE, "0x%hx", operand->unsigned_imm.val16); - break; - case AOS_32_BITS_UNSIGNED: - snprintf(value, VMPA_MAX_SIZE, "0x%x", operand->unsigned_imm.val32); - break; - case AOS_64_BITS_UNSIGNED: - snprintf(value, VMPA_MAX_SIZE, "0x%llx", operand->unsigned_imm.val64); - break; - case AOS_8_BITS_SIGNED: - if (g_imm_operand_is_negative(operand)) - snprintf(value, VMPA_MAX_SIZE, "0x%hhx", ~operand->signed_imm.val8 + 1); - else - snprintf(value, VMPA_MAX_SIZE, "0x%hhx", operand->signed_imm.val8); - break; - case AOS_16_BITS_SIGNED: - if (g_imm_operand_is_negative(operand)) - snprintf(value, VMPA_MAX_SIZE, "0x%hx", ~operand->signed_imm.val16 + 1); - else - snprintf(value, VMPA_MAX_SIZE, "0x%hx", operand->signed_imm.val16); - break; - case AOS_32_BITS_SIGNED: - if (g_imm_operand_is_negative(operand)) - snprintf(value, VMPA_MAX_SIZE, "0x%x", ~operand->signed_imm.val32 + 1); - else - snprintf(value, VMPA_MAX_SIZE, "0x%x", operand->signed_imm.val32); - break; - case AOS_64_BITS_SIGNED: - if (g_imm_operand_is_negative(operand)) - snprintf(value, VMPA_MAX_SIZE, "0x%llx", ~operand->signed_imm.val64 + 1); - else - snprintf(value, VMPA_MAX_SIZE, "0x%llx", operand->signed_imm.val64); - break; - } - break; - - case ASX_ATT: - switch (operand->size) - { - case MDS_UNDEFINED: - snprintf(value, VMPA_MAX_SIZE, "$0x???"); - break; - case AOS_8_BITS_UNSIGNED: - snprintf(value, VMPA_MAX_SIZE, "$0x%hhx", operand->unsigned_imm.val8); - break; - case AOS_16_BITS_UNSIGNED: - snprintf(value, VMPA_MAX_SIZE, "$0x%hx", operand->unsigned_imm.val16); - break; - case AOS_32_BITS_UNSIGNED: - snprintf(value, VMPA_MAX_SIZE, "$0x%x", operand->unsigned_imm.val32); - break; - case AOS_64_BITS_UNSIGNED: - snprintf(value, VMPA_MAX_SIZE, "$0x%llx", operand->unsigned_imm.val64); - break; - case AOS_8_BITS_SIGNED: - snprintf(value, VMPA_MAX_SIZE, "$0x%hhx", ~operand->signed_imm.val8 + 1); - break; - case AOS_16_BITS_SIGNED: - snprintf(value, VMPA_MAX_SIZE, "$0x%hx", ~operand->signed_imm.val16 + 1); - break; - case AOS_32_BITS_SIGNED: - snprintf(value, VMPA_MAX_SIZE, "$0x%x", ~operand->signed_imm.val32 + 1); - break; - case AOS_64_BITS_SIGNED: - snprintf(value, VMPA_MAX_SIZE, "$0x%llx", ~operand->signed_imm.val64 + 1); - break; - } - break; - - default: - break; - - } - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - value, strlen(value), RTT_IMMEDIATE); - - /* Complément d'information */ - - if (operand->size == g_arch_processor_get_memory_size(get_arch_processor_from_format(format))) - { - if (g_imm_operand_to_vmpa_t(operand, &address)) - { - if (g_binary_format_resolve_symbol(G_BIN_FORMAT(format), &label, &symtype, &address)) - { - switch (symtype) - { - case STP_OBJECT: - case STP_FUNCTION: - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - " ", 1, RTT_NONE); - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "<", 1, RTT_LTGT); - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - label, strlen(label), RTT_LTGT); - - if (address > 0) - { - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "+", 1, RTT_LTGT); - - snprintf(value, VMPA_MAX_SIZE, "0x%llx", address); - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - value, strlen(value), RTT_LTGT); - - } - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - ">", 1, RTT_LTGT); - - break; - - case STP_STRING: - printable = strdup(label); - printable = escape_crlf(printable); - /*printable = strrpl(printable, "<", "<"); - printable = strrpl(printable, ">", ">");*/ - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - " ", 1, RTT_NONE); - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "\"", 1, RTT_STRING); - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - printable, strlen(printable), RTT_STRING); - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "\"", 1, RTT_STRING); - - free(printable); - - break; - - } - - } - - } - - } - -} - - -/****************************************************************************** -* * * Paramètres : operand = opérande à traiter. * * addr = valeur résultante. [OUT] * * * diff --git a/src/arch/instruction.c b/src/arch/instruction.c index eb8ec28..14b0038 100644 --- a/src/arch/instruction.c +++ b/src/arch/instruction.c @@ -44,9 +44,6 @@ static void g_arch_instruction_add_text(const GArchInstruction *, GRenderingOpti /* Ajoute à un tampon GLib le contenu de l'instance spécifiée. */ static void g_arch_instruction_to_buffer(const GArchInstruction *, GBufferLine *, GRenderingOptions *); -/* Ajoute à un texte GTK le contenu d'une instruction. */ -static void g_arch_instruction_add_to_gtk_buffer(const GArchInstruction *, const GExeFormat *, AsmSyntax, GtkTextBuffer *, GtkTextIter *); - /* Indique le type défini pour une instruction d'architecture. */ @@ -91,7 +88,6 @@ static void g_arch_instruction_init(GArchInstruction *instr) parent->add_text = (add_text_fc)g_arch_instruction_add_text; parent->export_buffer = (export_buffer_fc)g_arch_instruction_to_buffer; - parent->add_arch_to_gtk_buffer = (add_arch_to_gtk_buffer_fc)g_arch_instruction_add_to_gtk_buffer; } @@ -206,60 +202,6 @@ static void g_arch_instruction_to_buffer(const GArchInstruction *instr, GBufferL /****************************************************************************** * * -* Paramètres : instr = instruction à transcrire. * -* format = format du binaire manipulé. * -* syntax = type de représentation demandée. * -* buffer = zone de texte à venir compléter. * -* iter = point d'insertion du nouveau texte. * -* * -* Description : Ajoute à un texte GTK le contenu d'une instruction. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_arch_instruction_add_to_gtk_buffer(const GArchInstruction *instr, const GExeFormat *format, AsmSyntax syntax, GtkTextBuffer *buffer, GtkTextIter *iter) -{ - const char *key; /* Mot clef principal */ - size_t klen; /* Taille de ce mot clef */ - size_t i; /* Boucle de parcours */ - - key = instr->get_text(instr, format, syntax); - klen = strlen(key); - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(instr), buffer, iter, - key, klen, RTT_INSTRUCTION); - - if (instr->operands_count > 0) - { - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(instr), buffer, iter, - "\t", 1, RTT_NONE); - - g_content_exporter_add_arch_to_gtk_buffer(G_CONTENT_EXPORTER(G_ARCH_INSTRUCTION(instr)->operands[0]), - format, syntax, buffer, iter); - - for (i = 1; i < instr->operands_count; i++) - { - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(instr), buffer, iter, - ",", 1, RTT_NONE/* FIXME */); - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(instr), buffer, iter, - " ", 1, RTT_NONE); - - g_content_exporter_add_arch_to_gtk_buffer(G_CONTENT_EXPORTER(G_ARCH_INSTRUCTION(instr)->operands[i]), - format, syntax, buffer, iter); - - } - - } - -} - - -/****************************************************************************** -* * * Paramètres : instr = instruction quelconque à modifier. * * offset = position physique dans le code binaire. * * length = taille de l'instruction. * diff --git a/src/arch/x86/operand.c b/src/arch/x86/operand.c index 0a571a7..849e54d 100644 --- a/src/arch/x86/operand.c +++ b/src/arch/x86/operand.c @@ -95,9 +95,6 @@ static void g_x86_register_operand_add_text(const GX86RegisterOperand *, GRender /*Ajoute à un tampon GLib le contenu de l'instance spécifiée. */ static void g_x86_register_operand_to_buffer(const GX86RegisterOperand *, GBufferLine *, GRenderingOptions *); -/* Ajoute à un texte GTK le contenu d'un opérande. */ -static void g_x86_register_operand_add_to_gtk_buffer(const GX86RegisterOperand *, const GExeFormat *, AsmSyntax, GtkTextBuffer *, GtkTextIter *); - /* ----------------------- OPERANDES COMPLEXES DE TYPE MOD/RM ----------------------- */ @@ -136,9 +133,6 @@ static void g_x86_mod_rm_operand_add_text(const GX86ModRMOperand *, GRenderingOp /* Ajoute à un tampon GLib le contenu de l'instance spécifiée. */ static void g_x86_mod_rm_operand_to_buffer(const GX86ModRMOperand *, GBufferLine *, GRenderingOptions *); -/* Ajoute à un texte GTK le contenu d'un opérande. */ -static void g_x86_mod_rm_operand_add_to_gtk_buffer(const GX86ModRMOperand *, const GExeFormat *, AsmSyntax, GtkTextBuffer *, GtkTextIter *); - /* ------------------------- OPERANDES D'ADRESSES RELATIVES ------------------------- */ @@ -173,9 +167,6 @@ static void g_x86_relative_operand_add_text(const GX86RelativeOperand *, GRender /* Ajoute à un tampon GLib le contenu de l'instance spécifiée. */ static void g_x86_relative_operand_to_buffer(const GX86RelativeOperand *, GBufferLine *, GRenderingOptions *); -/* Ajoute à un texte GTK le contenu d'un opérande. */ -static void g_x86_relative_operand_add_to_gtk_buffer(const GX86RelativeOperand *, const GExeFormat *, AsmSyntax, GtkTextBuffer *, GtkTextIter *); - /* ------------------------ OPERANDES D'EMPLACEMENTS MEMOIRE ------------------------ */ @@ -210,9 +201,6 @@ static void g_x86_moffs_operand_add_text(const GX86MOffsOperand *, GRenderingOpt /* Ajoute à un tampon GLib le contenu de l'instance spécifiée. */ static void g_x86_moffs_operand_to_buffer(const GX86MOffsOperand *, GBufferLine *, GRenderingOptions *); -/* Ajoute à un texte GTK le contenu d'un opérande. */ -static void g_x86_moffs_operand_add_to_gtk_buffer(const GX86MOffsOperand *, const GExeFormat *, AsmSyntax, GtkTextBuffer *, GtkTextIter *); - /* ---------------------- OPERANDES DE MANIPULATION DE DONNEES ---------------------- */ @@ -248,9 +236,6 @@ static void g_x86_data_operand_add_text(const GX86DataOperand *, GRenderingOptio /* Ajoute à un tampon GLib le contenu de l'instance spécifiée. */ static void g_x86_data_operand_to_buffer(const GX86DataOperand *, GBufferLine *, GRenderingOptions *); -/* Ajoute à un texte GTK le contenu d'un opérande. */ -static void g_x86_data_operand_add_to_gtk_buffer(const GX86DataOperand *, const GExeFormat *, AsmSyntax, GtkTextBuffer *, GtkTextIter *); - /* ---------------------------------------------------------------------------------- */ @@ -346,7 +331,6 @@ static void g_x86_register_operand_init(GX86RegisterOperand *operand) parent->add_text = (add_text_fc)g_x86_register_operand_add_text; parent->export_buffer = (export_buffer_fc)g_x86_register_operand_to_buffer; - parent->add_arch_to_gtk_buffer = (add_arch_to_gtk_buffer_fc)g_x86_register_operand_add_to_gtk_buffer; } @@ -510,29 +494,6 @@ static void g_x86_register_operand_to_buffer(const GX86RegisterOperand *operand, } -/****************************************************************************** -* * -* Paramètres : operand = opérande à transcrire. * -* format = format du binaire manipulé. * -* syntax = type de représentation demandée. * -* buffer = zone de texte à venir compléter. * -* iter = point d'insertion du nouveau texte. * -* * -* Description : Ajoute à un texte GTK le contenu d'un opérande. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_x86_register_operand_add_to_gtk_buffer(const GX86RegisterOperand *operand, const GExeFormat *format, AsmSyntax syntax, GtkTextBuffer *buffer, GtkTextIter *iter) -{ - g_content_exporter_add_arch_to_gtk_buffer(G_CONTENT_EXPORTER(operand->reg), format, syntax, buffer, iter); - -} - - /* ---------------------------------------------------------------------------------- */ /* OPERANDES COMPLEXES DE TYPE MOD/RM */ @@ -581,7 +542,6 @@ static void g_x86_mod_rm_operand_init(GX86ModRMOperand *operand) parent->add_text = (add_text_fc)g_x86_mod_rm_operand_add_text; parent->export_buffer = (export_buffer_fc)g_x86_mod_rm_operand_to_buffer; - parent->add_arch_to_gtk_buffer = (add_arch_to_gtk_buffer_fc)g_x86_mod_rm_operand_add_to_gtk_buffer; } @@ -851,90 +811,6 @@ static void g_x86_mod_rm_operand_to_buffer(const GX86ModRMOperand *operand, GBuf /****************************************************************************** * * -* Paramètres : operand = opérande à transcrire. * -* format = format du binaire manipulé. * -* syntax = type de représentation demandée. * -* buffer = zone de texte à venir compléter. * -* iter = point d'insertion du nouveau texte. * -* * -* Description : Ajoute à un texte GTK le contenu d'un opérande. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_x86_mod_rm_operand_add_to_gtk_buffer(const GX86ModRMOperand *operand, const GExeFormat *format, AsmSyntax syntax, GtkTextBuffer *buffer, GtkTextIter *iter) -{ - char tmp[2]; /* Echelle en puissance de 2 */ - - switch (syntax) - { - case ASX_INTEL: - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "[", 1, RTT_HOOK); - - if (operand->scale > 0) - { - snprintf(tmp, 2, "%d", (int)pow(2, operand->scale)); - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - tmp, 1, RTT_IMMEDIATE); - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "*", 1, RTT_SIGNS); - - } - - g_content_exporter_add_arch_to_gtk_buffer(G_CONTENT_EXPORTER(operand->index), - format, syntax, buffer, iter); - - if (operand->base != NULL) - { - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "+", 1, RTT_SIGNS); - - g_content_exporter_add_arch_to_gtk_buffer(G_CONTENT_EXPORTER(operand->base), - format, syntax, buffer, iter); - - } - - if (operand->displacement != NULL) - { - if (g_imm_operand_is_negative(operand->displacement)) - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "-", 1, RTT_SIGNS); - else - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "+", 1, RTT_SIGNS); - - g_content_exporter_add_arch_to_gtk_buffer(G_CONTENT_EXPORTER(operand->displacement), - format, syntax, buffer, iter); - - } - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "]", 1, RTT_HOOK); - - break; - - case ASX_ATT: - - /* TODO */ - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "[ModRM]", 7, RTT_HOOK); - - break; - - } - -} - - -/****************************************************************************** -* * * Paramètres : operand = opérande à consulter. * * scale = facteur sous forme de puissance de deux. [OUT * * index = register principal de l'opérande. [OUT] * @@ -1041,7 +917,6 @@ static void g_x86_relative_operand_init(GX86RelativeOperand *operand) parent->add_text = (add_text_fc)g_x86_relative_operand_add_text; parent->export_buffer = (export_buffer_fc)g_x86_relative_operand_to_buffer; - parent->add_arch_to_gtk_buffer = (add_arch_to_gtk_buffer_fc)g_x86_relative_operand_add_to_gtk_buffer; } @@ -1145,30 +1020,6 @@ static void g_x86_relative_operand_to_buffer(const GX86RelativeOperand *operand, /****************************************************************************** * * -* Paramètres : operand = opérande à transcrire. * -* format = format du binaire manipulé. * -* syntax = type de représentation demandée. * -* buffer = zone de texte à venir compléter. * -* iter = point d'insertion du nouveau texte. * -* * -* Description : Ajoute à un texte GTK le contenu d'un opérande. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_x86_relative_operand_add_to_gtk_buffer(const GX86RelativeOperand *operand, const GExeFormat *format, AsmSyntax syntax, GtkTextBuffer *buffer, GtkTextIter *iter) -{ - g_content_exporter_add_arch_to_gtk_buffer(G_CONTENT_EXPORTER(operand->immediate), - format, syntax, buffer, iter); - -} - - -/****************************************************************************** -* * * Paramètres : operand = opérande à traiter. * * * * Description : Fournit l'adresse relative représentée par une opérande X86. * @@ -1234,7 +1085,6 @@ static void g_x86_moffs_operand_init(GX86MOffsOperand *operand) parent->add_text = (add_text_fc)g_x86_moffs_operand_add_text; parent->export_buffer = (export_buffer_fc)g_x86_moffs_operand_to_buffer; - parent->add_arch_to_gtk_buffer = (add_arch_to_gtk_buffer_fc)g_x86_moffs_operand_add_to_gtk_buffer; } @@ -1322,33 +1172,6 @@ static void g_x86_moffs_operand_to_buffer(const GX86MOffsOperand *operand, GBuff } -/****************************************************************************** -* * -* Paramètres : operand = opérande à transcrire. * -* format = format du binaire manipulé. * -* syntax = type de représentation demandée. * -* buffer = zone de texte à venir compléter. * -* iter = point d'insertion du nouveau texte. * -* * -* Description : Ajoute à un texte GTK le contenu d'un opérande. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_x86_moffs_operand_add_to_gtk_buffer(const GX86MOffsOperand *operand, const GExeFormat *format, AsmSyntax syntax, GtkTextBuffer *buffer, GtkTextIter *iter) -{ - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "ds:", 3, RTT_SEGMENT); - - g_content_exporter_add_arch_to_gtk_buffer(G_CONTENT_EXPORTER(operand->offset), - format, syntax, buffer, iter); - -} - - /* ---------------------------------------------------------------------------------- */ /* OPERANDES DE MANIPULATION DE DONNEES */ @@ -1397,7 +1220,6 @@ static void g_x86_data_operand_init(GX86DataOperand *operand) parent->add_text = (add_text_fc)g_x86_data_operand_add_text; parent->export_buffer = (export_buffer_fc)g_x86_data_operand_to_buffer; - parent->add_arch_to_gtk_buffer = (add_arch_to_gtk_buffer_fc)g_x86_data_operand_add_to_gtk_buffer; } @@ -1502,43 +1324,6 @@ static void g_x86_data_operand_to_buffer(const GX86DataOperand *operand, GBuffer } -/****************************************************************************** -* * -* Paramètres : operand = opérande à transcrire. * -* format = format du binaire manipulé. * -* syntax = type de représentation demandée. * -* buffer = zone de texte à venir compléter. * -* iter = point d'insertion du nouveau texte. * -* * -* Description : Ajoute à un texte GTK le contenu d'un opérande. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_x86_data_operand_add_to_gtk_buffer(const GX86DataOperand *operand, const GExeFormat *format, AsmSyntax syntax, GtkTextBuffer *buffer, GtkTextIter *iter) -{ - if (operand->dest) - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "es:", 3, RTT_SEGMENT); - else - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "ds:", 3, RTT_SEGMENT); - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "[", 1, RTT_HOOK); - - g_content_exporter_add_arch_to_gtk_buffer(G_CONTENT_EXPORTER(operand->reg), format, - syntax, buffer, iter); - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(operand), buffer, iter, - "]", 1, RTT_HOOK); - -} - - /* ---------------------------------------------------------------------------------- */ /* AIDE A LA CREATION D'OPERANDES */ diff --git a/src/arch/x86/registers.c b/src/arch/x86/registers.c index 8a61d09..18756b3 100644 --- a/src/arch/x86/registers.c +++ b/src/arch/x86/registers.c @@ -118,9 +118,6 @@ static void g_x86_register_add_text(const GX86Register *, GRenderingOptions *, M /* Ajoute à un tampon GLib le contenu de l'instance spécifiée. */ static void g_x86_register_to_buffer(const GX86Register *, GBufferLine *, GRenderingOptions *); -/* Ajoute à un texte GTK le contenu d'un opérande. */ -static void g_x86_register_add_to_gtk_buffer(const GX86Register *, const GExeFormat *, AsmSyntax, GtkTextBuffer *, GtkTextIter *); - /* Indique le type défini pour une représentation d'un registre x86. */ @@ -165,7 +162,6 @@ static void g_x86_register_init(GX86Register *reg) parent->add_text = (add_text_fc)g_x86_register_add_text; parent->export_buffer = (export_buffer_fc)g_x86_register_to_buffer; - parent->add_arch_to_gtk_buffer = (add_arch_to_gtk_buffer_fc)g_x86_register_add_to_gtk_buffer; } @@ -556,35 +552,6 @@ static void g_x86_register_to_buffer(const GX86Register *reg, GBufferLine *buffe /****************************************************************************** * * -* Paramètres : operand = opérande à transcrire. * -* format = format du binaire manipulé. * -* syntax = type de représentation demandée. * -* buffer = zone de texte à venir compléter. * -* iter = point d'insertion du nouveau texte. * -* * -* Description : Ajoute à un texte GTK le contenu d'un opérande. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_x86_register_add_to_gtk_buffer(const GX86Register *reg, const GExeFormat *format, AsmSyntax syntax, GtkTextBuffer *buffer, GtkTextIter *iter) -{ - char key[MAX_REGNAME_LEN]; /* Mot clef principal */ - size_t klen; /* Taille de ce mot clef */ - - g_x86_register_to_string(reg, syntax, key, &klen); - - g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(reg), buffer, iter, - key, klen, RTT_REGISTER); - -} - - -/****************************************************************************** -* * * Paramètres : reg = registre à consulter. * * * * Description : Indique si le registre correspond à ebp ou similaire. * |