--- sdcc/as/mcs51/i51mch.c.x	Sun Jul  9 01:45:26 2000
+++ sdcc/as/mcs51/i51mch.c	Sun Jul  9 01:45:32 2000
@@ -424,8 +424,8 @@
 			v1 = -3;
 		    else
 			v1 = e1.e_addr - dot.s_addr - 1;
-			/* if ((v1 < -128) || (v1 > 127))
-				aerr(); */
+			if (((v1 < -128) || (v1 > 127)) && pass > 0)
+				aerr();
 			outab(v1);
 		} else {
 			outrb(&e1, R_PCR);
@@ -443,8 +443,8 @@
 			v1 = -2;
 		    else   
 			v1 = e1.e_addr - dot.s_addr - 1;
-			/* if ((v1 < -128) || (v1 > 127))
-				aerr();*/
+			if (((v1 < -128) || (v1 > 127)) && pass > 0)
+				aerr();
 			outab(v1);
 		} else {
 			outrb(&e1, R_PCR);
@@ -498,8 +498,8 @@
 			v1 = -3;
 		    else   
 			v1 = e1.e_addr - dot.s_addr - 1;
-			/* if ((v1 < -128) || (v1 > 127))
-				aerr(); */
+			if (((v1 < -128) || (v1 > 127)) && pass > 0)
+				aerr();
 			outab(v1);
 		} else {
 			outrb(&e1, R_PCR);
@@ -535,8 +535,8 @@
 			v1 = -2;
 		    else   
 			v1 = e1.e_addr - dot.s_addr - 1;
-			/* if ((v1 < -128) || (v1 > 127))
-				aerr(); */
+			if (((v1 < -128) || (v1 > 127)) && pass > 0)
+				aerr();
 			outab(v1);
 		} else {
 			outrb(&e1, R_PCR);
