Header --> Id && bug fix

This commit is contained in:
ceriel 1994-06-24 07:25:30 +00:00
parent 910f827fe2
commit 6cec9aca97
6 changed files with 26 additions and 16 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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