From 219323d911f051e36049778d039da6e2538c10d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Henrik=20Sk=C3=A5rstedt?= Date: Mon, 14 Dec 2015 22:07:30 -0800 Subject: [PATCH] Improving some code and data distinction rules - If an address is unreachable it is data even if a branch crosses - If a branch crosses data then that branch can be valid code - If a segment is initially considered code but not reachable after all is said and done it is reverted to data --- bin/x65_win32.zip | Bin 99456 -> 99672 bytes bin/x65_x64.zip | Bin 124221 -> 124366 bytes disassembler/x65dsasm.cpp | 67 ++++++++++++++++++++++++++++---------- 3 files changed, 49 insertions(+), 18 deletions(-) diff --git a/bin/x65_win32.zip b/bin/x65_win32.zip index 895ce49cba4fbd973fd4168ccec1122bf552edd3..e061aa0558d79d0f8256d770878254d22bb2c535 100644 GIT binary patch delta 19768 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%0Dx!!*2h;0PaWgoMOD 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 MH5SWu&=>9h05EG}SpWb4 delta 19544 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 diff --git a/bin/x65_x64.zip b/bin/x65_x64.zip index f84e16d3f56aa344e6854722b29397d2d1e4a8c0..a39f3fb4549a2be74591c9b5cc1a17f349d5b45a 100644 GIT binary patch delta 21729 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 && refs[curr_label-1].data!=DT_PTRS && refs[curr_label-1].data!=DT_PTRS_DATA && - curr!=refs[curr_label].address && !cutoff) { + curr!=refs[curr_label].address && !cutoff) { int end_addr = curr_label<(int)refs.size() ? refs[curr_label].address : (int)(addr_orig + bytes_orig); for (std::vector::iterator k = refs.begin(); k!= refs.end(); ++k) { std::vector &l = *k->pRefs; @@ -1581,7 +1581,7 @@ void GetReferences(unsigned char *mem, size_t bytes, bool acc_16, bool ind_16, i while (r!=l.end()) { if (r->instr_addr>=curr && r->instr_addr1 && refs[last-1].data!=DT_CODE) { @@ -1711,8 +1712,7 @@ void GetReferences(unsigned char *mem, size_t bytes, bool acc_16, bool ind_16, i while (r != pRefs.end()) { if (r->instr_addr>=start_addr && r->instr_addrdata == DT_CODE && !k->label) { + std::vector &links = *k->pRefs; + bool definitely_code = false; + for (std::vector::iterator l = links.begin(); l!=links.end(); ++l) { + RefType t = l->type; + if (t==RT_BRANCH || t==RT_BRA_L || t==RT_JUMP || t==RT_JSR) { + definitely_code = true; + break; + } + } + if (!definitely_code) + k->data = DT_DATA; + } + ++k; + } } // returns true if the instruction accessing memory can ONLY read that memory, not write back or jump to it @@ -1910,6 +1927,8 @@ void Disassemble(strref filename, unsigned char *mem, size_t bytes, bool acc_16, opened = true; } + int reseperate = -1; + while (bytes) { // Determine if current address is referenced from somewhere while (curr_label_index<(int)refs.size() && addr >= refs[curr_label_index].address) { @@ -1937,9 +1956,11 @@ void Disassemble(strref filename, unsigned char *mem, size_t bytes, bool acc_16, int lbl_glb = lbl; while (lbl_glb>0 && refs[lbl_glb].local) lbl_glb--; - if (refs[lbl].label) - out.append(refs[lbl].label); - else { + if (refs[lbl_glb].label) { + out.append(' '); + out.append(refs[lbl_glb].label); + out.append(" /"); + } else { RefAddr &ra = refs[lbl_glb]; out.sprintf_append(" %s_%d /", ra.local ? ".l" : (ra.data==DT_CODE ? "Code" : (ra.address>=0 && ra.address<0x100 ? "zp" : "Data")), ra.number); } @@ -1976,6 +1997,7 @@ void Disassemble(strref filename, unsigned char *mem, size_t bytes, bool acc_16, is_data = !!ref.data; is_ptrs = is_data && (ref.data==DT_PTRS || ref.data==DT_PTRS_DATA); separator = false; + reseperate = -1; curr_label_index++; } if (src && (is_data || separator)) { @@ -1983,7 +2005,12 @@ void Disassemble(strref filename, unsigned char *mem, size_t bytes, bool acc_16, int left = end_addr - addr; if (curr_label_index<(int)refs.size() && refs[curr_label_index].addressreseperate && !is_data) + left = reseperate - addr; + else + is_data = true; + reseperate = -1; + separator = false; if (is_ptrs) { int blk = refs[curr_label_index-1].size ? refs[curr_label_index-1].size : left; while (left>=2 && bytes>=2 && blk) { @@ -2086,14 +2113,18 @@ void Disassemble(strref filename, unsigned char *mem, size_t bytes, bool acc_16, std::vector &pRefs = *refs[i].pRefs; if (refs[i].address<=curr_addr) { for (size_t j = 0; jcurr_addr) - separator = false; - } - } else { - for (size_t j = 0; jcurr_addr) { + if (refs[i].address==addr) + separator = false; + else if (reseperate<0 || pRefs[j].instr_addr