Update of /cvsroot/hppaqemu/hppaqemu/target-hppa
In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv749
Modified Files:
op.c
Log Message:
dcor/idcor fixes, based on a patch by Tomonori Yamane.
Index: op.c
===================================================================
RCS file: /cvsroot/hppaqemu/hppaqemu/target-hppa/op.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- op.c 20 Apr 2007 14:44:38 -0000 1.29
+++ op.c 20 Apr 2007 14:53:06 -0000 1.30
@@ -673,26 +673,26 @@
void OPPROTO op_dcor_T0(void)
{
- T0 -= (((0x6 * (1 - (env->psw & PSW_CB7))) << 4) |
- (((0x6 * (1 - (env->psw & PSW_CB6))) << 4) |
- (((0x6 * (1 - (env->psw & PSW_CB5))) << 4) |
- (((0x6 * (1 - (env->psw & PSW_CB4))) << 4) |
- (((0x6 * (1 - (env->psw & PSW_CB3))) << 4) |
- (((0x6 * (1 - (env->psw & PSW_CB2))) << 4) |
- (((0x6 * (1 - (env->psw & PSW_CB1))) << 4) |
- (((0x6 * (1 - (env->psw & PSW_CB0))))))))))));
+ T0 -= ((((env->psw & PSW_CB7) ? 0 : 6) << 4) |
+ ((((env->psw & PSW_CB6) ? 0 : 6) << 4) |
+ ((((env->psw & PSW_CB5) ? 0 : 6) << 4) |
+ ((((env->psw & PSW_CB4) ? 0 : 6) << 4) |
+ ((((env->psw & PSW_CB3) ? 0 : 6) << 4) |
+ ((((env->psw & PSW_CB2) ? 0 : 6) << 4) |
+ ((((env->psw & PSW_CB1) ? 0 : 6) << 4) |
+ ((((env->psw & PSW_CB0) ? 0 : 6))))))))));
}
void OPPROTO op_idcor_T0(void)
{
- T0 += (((0x6 * (env->psw & PSW_CB7)) << 4) |
- (((0x6 * (env->psw & PSW_CB6)) << 4) |
- (((0x6 * (env->psw & PSW_CB5)) << 4) |
- (((0x6 * (env->psw & PSW_CB4)) << 4) |
- (((0x6 * (env->psw & PSW_CB3)) << 4) |
- (((0x6 * (env->psw & PSW_CB2)) << 4) |
- (((0x6 * (env->psw & PSW_CB1)) << 4) |
- (((0x6 * (env->psw & PSW_CB0)))))))))));
+ T0 += ((((env->psw & PSW_CB7) ? 6 : 0) << 4) |
+ ((((env->psw & PSW_CB6) ? 6 : 0) << 4) |
+ ((((env->psw & PSW_CB5) ? 6 : 0) << 4) |
+ ((((env->psw & PSW_CB4) ? 6 : 0) << 4) |
+ ((((env->psw & PSW_CB3) ? 6 : 0) << 4) |
+ ((((env->psw & PSW_CB2) ? 6 : 0) << 4) |
+ ((((env->psw & PSW_CB1) ? 6 : 0) << 4) |
+ ((((env->psw & PSW_CB0) ? 6 : 0))))))))));
}
/* Shift/deposit insns */
|