From: ceriel Date: Thu, 23 Jun 1994 16:08:51 +0000 (+0000) Subject: Header --> Id && bug fix X-Git-Tag: release-5-5~165 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=910f827fe2cf4cb03140ab8ae78644a8be8dd6dc;p=ack.git Header --> Id && bug fix --- diff --git a/mach/i86/as/mach0.c b/mach/i86/as/mach0.c index 66db519bd..1c47e4874 100644 --- a/mach/i86/as/mach0.c +++ b/mach/i86/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 8086 options diff --git a/mach/i86/as/mach1.c b/mach/i86/as/mach1.c index 7414fec87..b36ed5601 100644 --- a/mach/i86/as/mach1.c +++ b/mach/i86/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 8086 C declarations diff --git a/mach/i86/as/mach2.c b/mach/i86/as/mach2.c index 03bac6d5b..3c2573b51 100644 --- a/mach/i86/as/mach2.c +++ b/mach/i86/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 8086 tokens diff --git a/mach/i86/as/mach3.c b/mach/i86/as/mach3.c index 005cc82a4..58c633a9d 100644 --- a/mach/i86/as/mach3.c +++ b/mach/i86/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 8086 keywords diff --git a/mach/i86/as/mach4.c b/mach/i86/as/mach4.c index 865a2ed80..5f3ade730 100644 --- a/mach/i86/as/mach4.c +++ b/mach/i86/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/i86/as/mach5.c b/mach/i86/as/mach5.c index 19337db1c..85f7d0488 100644 --- a/mach/i86/as/mach5.c +++ b/mach/i86/as/mach5.c @@ -78,13 +78,24 @@ regsize(sz) register sz; { } indexed() { + int sm1, sm2; if (mrg_2 & ~7) serror("register error"); - if (exp_2.typ != S_ABS || fitb((short)exp_2.val) == 0) + sm1 = exp_2.typ == S_ABS && fitb((short)(exp_2.val)); + if (sm1) { + sm2 = exp_2.val == 0 && mrg_2 != 6; + } + else sm2 = 0; + if (small(sm1, 1)) { + if (small(sm2, 1)) { + } + else mrg_2 |= 0100; + } + else { + if (small(0, 1)) {} mrg_2 |= 0200; - else if (exp_2.val != 0 || mrg_2 == 6) - mrg_2 |= 0100; + } } branch(opc,exp) register opc; expr_t exp; { @@ -165,11 +176,13 @@ addop(opc) register opc; { } else if (mrg_2 & 040) { if ((opc&1) == 0) { emit1(0200); - } else if (exp_2.typ != S_ABS || fitb((short)exp_2.val) == 0 || - opc==011 || opc==041 || opc==061 ) { - emit1(0201); } else { - emit1(0203); opc &= ~1; + int sm = exp_2.typ == S_ABS && fitb((short)exp_2.val) && + opc != 011 && opc != 041 && opc != 061; + if (small(sm, 1)) { + emit1(0203); opc &= ~1; + } + else emit1(0201); } ea_1(opc & 070); #ifdef RELOCATION @@ -193,7 +206,7 @@ rolop(opc) register opc; { if (cmrg == 0301) { emit1(0322 | (opc&1)); ea_1(opc&070); } else if (cmrg & 040) { - if (exp_2.val == 1) { + if (small(exp_2.val == 1, 1)) { emit1(0320 | (opc&1)); ea_1(opc&070); } else { fit(fitb(exp_2.val));