Search
lxdream.org :: lxdream/src/sh4/sh4core.in :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/sh4core.in
changeset 1083:34895c8bab20
prev1067:d3c00ffccfcd
next1103:de9ad2c0cf56
author nkeynes
date Wed Dec 02 10:36:49 2009 +1000 (11 years ago)
permissions -rw-r--r--
last change Add missing SUBV instruction to the emulation core (translation core is ok),
along with test cases. Thanks to D. Jeff Dionne for pointing this out.
file annotate diff log raw
1.1 --- a/src/sh4/sh4core.in Sun Jul 05 13:54:48 2009 +1000
1.2 +++ b/src/sh4/sh4core.in Wed Dec 02 10:36:49 2009 +1000
1.3 @@ -747,7 +747,11 @@
1.4 sh4r.r[Rn] = sh4r.r[Rn] - sh4r.r[Rm] - sh4r.t;
1.5 sh4r.t = (sh4r.r[Rn] > tmp || (sh4r.r[Rn] == tmp && sh4r.t == 1));
1.6 :}
1.7 -
1.8 +SUBV Rm, Rn {:
1.9 + tmp = sh4r.r[Rn] - sh4r.r[Rm];
1.10 + sh4r.t = ( (sh4r.r[Rn]>>31) != (sh4r.r[Rm]>>31) && ((sh4r.r[Rn]>>31) != (tmp>>31)) );
1.11 + sh4r.r[Rn] = tmp;
1.12 +:}
1.13 BRAF Rn {:
1.14 CHECKSLOTILLEGAL();
1.15 CHECKDEST( pc + 4 + sh4r.r[Rn] );
.