Blob Blame History Raw
diff -up z80dasm-1.1.2/src/dz80.c.16-bit-addr z80dasm-1.1.2/src/dz80.c
--- z80dasm-1.1.2/src/dz80.c.16-bit-addr	2012-02-27 16:22:45.752821420 -0800
+++ z80dasm-1.1.2/src/dz80.c	2012-02-27 16:28:02.023832401 -0800
@@ -92,7 +92,7 @@ int ckrange(int skip, char *str)
 		/* not enough data in file */
 		return -1;
 	}
-	val=t[skip+0]+256*t[skip+1];
+	val=(t[skip+0]+256*t[skip+1]) & 0xffff;
 
 	if(pass==1 || pass==2 || (!a_labels)) {
 		/* on first two passes don't bother printing labels (or if
@@ -149,7 +149,7 @@ int ckrange_rel(int skip, int pc, char *
 		} else {
 			val=pc+2+t[skip]-256;
 		}
-
+		val &= 0xffff;
 		symb=symbol_find(val);
 	}
 
diff -up z80dasm-1.1.2/src/table.c.16-bit-addr z80dasm-1.1.2/src/table.c
--- z80dasm-1.1.2/src/table.c.16-bit-addr	2012-02-27 16:22:35.847821076 -0800
+++ z80dasm-1.1.2/src/table.c	2012-02-27 16:23:13.163822371 -0800
@@ -123,7 +123,7 @@ else if(ia[0]==0x10)
 if(argtyp==undef) {
 	return 1;
 } else {
-	symbol_newref(argval,prc,argtyp);
+	symbol_newref(argval & 0xffff,prc,argtyp);
 }
 
 return(1);/*ok*/