From 6cec9aca97544473ec1397e4f59067d0b2512303 Mon Sep 17 00:00:00 2001 From: ceriel Date: Fri, 24 Jun 1994 07:25:30 +0000 Subject: [PATCH] Header --> Id && bug fix --- mach/i386/as/mach0.c | 2 +- mach/i386/as/mach1.c | 2 +- mach/i386/as/mach2.c | 2 +- mach/i386/as/mach3.c | 2 +- mach/i386/as/mach4.c | 2 +- mach/i386/as/mach5.c | 32 +++++++++++++++++++++----------- 6 files changed, 26 insertions(+), 16 deletions(-) diff --git a/mach/i386/as/mach0.c b/mach/i386/as/mach0.c index 459c07967..6fb5358d5 100644 --- a/mach/i386/as/mach0.c +++ b/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 diff --git a/mach/i386/as/mach1.c b/mach/i386/as/mach1.c index 8d67e3a67..3538958bb 100644 --- a/mach/i386/as/mach1.c +++ b/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 diff --git a/mach/i386/as/mach2.c b/mach/i386/as/mach2.c index 394693128..3bf0f37fb 100644 --- a/mach/i386/as/mach2.c +++ b/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 diff --git a/mach/i386/as/mach3.c b/mach/i386/as/mach3.c index 72623050c..f2b1124c0 100644 --- a/mach/i386/as/mach3.c +++ b/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 diff --git a/mach/i386/as/mach4.c b/mach/i386/as/mach4.c index 7119dad0d..24ec29d5f 100644 --- a/mach/i386/as/mach4.c +++ b/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. diff --git a/mach/i386/as/mach5.c b/mach/i386/as/mach5.c index 22a95d649..9853c6c0c 100644 --- a/mach/i386/as/mach5.c +++ b/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();