From 5d54dbc4a0661a94badc960082f370d62ecf0814 Mon Sep 17 00:00:00 2001 From: Vladimir Kononovich Date: Wed, 7 Feb 2024 21:17:41 +0300 Subject: [PATCH] Fixed asm output. Released in 2.8 --- Gensida/ida/ida_plugin.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/Gensida/ida/ida_plugin.cpp b/Gensida/ida/ida_plugin.cpp index 4a9aa98..b8f1741 100644 --- a/Gensida/ida/ida_plugin.cpp +++ b/Gensida/ida/ida_plugin.cpp @@ -767,24 +767,29 @@ static void dump_name(FILE* fp, ea_t addr, bool extend) { } } +static void dump_ram_names_sub(FILE* fp, ea_t start, size_t end, range_t exclude, bool extend) { + while (start != BADADDR && start < end) { + if (!exclude.contains(start)) { + dump_name(fp, start, extend); + } + + start = next_not_tail(start); + + } +} + static void dump_ram_names(FILE* fp) { print_line(fp, "; ---------- ram names -------------"); - ea_t ea = 0xFF0000; ea_t start_ea = get_first_seg()->start_ea; ea_t end_ea = get_first_seg()->end_ea; range_t rr(start_ea, end_ea); - while (ea != BADADDR && ea < 0x1000000) { - if (!rr.contains(ea)) { - dump_name(fp, ea, true); - } - - ea = next_not_tail(ea); - } + dump_ram_names_sub(fp, 0x00FF0000, 0x00FF0000ULL+0x10000ULL, rr, true); + dump_ram_names_sub(fp, 0xFFFF0000, 0xFFFF0000ULL +0x10000ULL, rr, false); - ea = rom_end; + ea_t ea = rom_end; while (ea != BADADDR && is_mapped(rom_end + 0x10000) && ea < (rom_end + 0x10000)) { dump_name(fp, ea, false);