Browse Source

Header --> Id && bug fix

ceriel 30 years ago
parent
commit
e97e8edd13
6 changed files with 26 additions and 16 deletions
  1. 1 1
      mach/i386/as/mach0.c
  2. 1 1
      mach/i386/as/mach1.c
  3. 1 1
      mach/i386/as/mach2.c
  4. 1 1
      mach/i386/as/mach3.c
  5. 1 1
      mach/i386/as/mach4.c
  6. 21 11
      mach/i386/as/mach5.c

+ 1 - 1
mach/i386/as/mach0.c

@@ -2,7 +2,7 @@
  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  * See the copyright notice in the ACK home directory, in the file "Copyright".
  */
-#define RCSID0 "$Header$"
+#define RCSID0 "$Id$"
 
 /*
  * INTEL 80386 options

+ 1 - 1
mach/i386/as/mach1.c

@@ -2,7 +2,7 @@
  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  * See the copyright notice in the ACK home directory, in the file "Copyright".
  */
-#define RCSID1 "$Header$"
+#define RCSID1 "$Id$"
 
 /*
  * INTEL 80386 C declarations

+ 1 - 1
mach/i386/as/mach2.c

@@ -2,7 +2,7 @@
  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  * See the copyright notice in the ACK home directory, in the file "Copyright".
  */
-#define RCSID2 "$Header$"
+#define RCSID2 "$Id$"
 
 /*
  * INTEL 80386 tokens

+ 1 - 1
mach/i386/as/mach3.c

@@ -2,7 +2,7 @@
  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  * See the copyright notice in the ACK home directory, in the file "Copyright".
  */
-#define RCSID3 "$Header$"
+#define RCSID3 "$Id$"
 
 /*
  * INTEL 80386 keywords

+ 1 - 1
mach/i386/as/mach4.c

@@ -1,4 +1,4 @@
-#define RCSID4 "$Header$"
+#define RCSID4 "$Id$"
 
 /*
  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.

+ 21 - 11
mach/i386/as/mach5.c

@@ -2,7 +2,7 @@
  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  * See the copyright notice in the ACK home directory, in the file "Copyright".
  */
-#define RCSID5 "$Header$"
+#define RCSID5 "$Id$"
 
 /*
  * INTEL 80386 special routines
@@ -150,18 +150,26 @@ indexed() {
 			reg_2 = 05;
 			return;
 		}
-		if (exp_2.typ != S_ABS || fitb(exp_2.val) == 0)
-			mod_2 = 02;
-		else if (exp_2.val != 0 || reg_2 == 5)
-			mod_2 = 01;
+		if (small(exp_2.typ == S_ABS && fitb(exp_2.val), 3)) {
+			if (small(exp_2.val == 0 && reg_2 != 5, 1)) {
+			}
+			else mod_2 = 01;
+		}
+		else	if (small(0, 1)) {
+		}
+		else mod_2 = 02;
 	}
 	else {
         	if (reg_2 & ~7)
                 	serror("register error");
-        	if (exp_2.typ != S_ABS || fitb(exp_2.val) == 0)
-                	reg_2 |= 0200;
-        	else if (exp_2.val != 0 || reg_2 == 6)
-                	reg_2 |= 0100;
+        	if (small(exp_2.typ == S_ABS && fitb(exp_2.val), 1)) {
+			if (small(exp_2.val == 0 && reg_2 != 6, 1)) {
+			}
+			else reg_2 |= 0100;
+		}
+		else if (small(0, 1)) {
+		}
+		else reg_2 |= 0200;
 	}
 }
 
@@ -349,10 +357,11 @@ rolop(opc)
 	if (oreg == (IS_R8 | 1 | (address_long ? 0 : 0300))) {
 		/* cl register */
 		emit1(0322 | (opc&1)); ea_1(opc&070);
-	} else if (is_expr(oreg) && exp_2.typ == S_ABS && exp_2.val == 1) {
+	} else if (is_expr(oreg)) {
+	    if (small(exp_2.typ == S_ABS && exp_2.val == 1, 1)) {
 		/* shift by 1 */
 		emit1(0320 | (opc&1)); ea_1(opc&070);
-	} else if (is_expr(oreg)) {
+	    } else {
 		/* shift by byte count */
 		emit1(0300 | (opc & 1)); 
 		ea_1(opc & 070);
@@ -361,6 +370,7 @@ rolop(opc)
 		newrelo(exp_2.typ, RELO1);
 #endif
 		emit1((int)(exp_2.val));
+	    }
 	}
 	else
 		badsyntax();