diff dis.c @ 1892:1afd6e85ec26

Properly mask addresses to 24-bit in disassembler
author Michael Pavone <pavone@retrodev.com>
date Thu, 05 Dec 2019 09:32:52 -0800
parents 137dbd05ceab
children 460e14497120
line wrap: on
line diff
--- a/dis.c	Wed Oct 09 23:06:02 2019 -0700
+++ b/dis.c	Thu Dec 05 09:32:52 2019 -0800
@@ -292,7 +292,7 @@
 			encoded = NULL;
 			address = def->address;
 			if (!is_visited(address)) {
-				encoded = filebuf + (address - address_off)/2;
+				encoded = filebuf + ((address & 0xFFFFFF) - address_off)/2;
 			}
 			tmpd = def;
 			def = def->next;
@@ -302,7 +302,7 @@
 			break;
 		}
 		for(;;) {
-			if (address > address_end || address < address_off) {
+			if ((address & 0xFFFFFF) > address_end || address < address_off) {
 				break;
 			}
 			visit(address);