From: Stuart B. <zu...@us...> - 2007-03-12 14:08:38
|
Update of /cvsroot/hppaqemu/hppaqemu/target-hppa In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv29054 Modified Files: op.c translate.c Log Message: Implement decimal correction operations. Index: translate.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-hppa/translate.c,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** translate.c 11 Mar 2007 16:11:36 -0000 1.14 --- translate.c 12 Mar 2007 14:08:32 -0000 1.15 *************** *** 1315,1326 **** if (r1 != 0) gen_op_undef_insn(); ! else gen_op_dcor_T0(); break; case 0x2F: /* IDCOR */ if (r1 != 0) gen_op_undef_insn(); ! else gen_op_idcor_T0(); break; default: /* Undefined Instruction */ --- 1315,1330 ---- if (r1 != 0) gen_op_undef_insn(); ! else { ! gen_op_movl_T1_T0(); gen_op_dcor_T0(); + } break; case 0x2F: /* IDCOR */ if (r1 != 0) gen_op_undef_insn(); ! else { ! gen_op_movl_T1_T0(); gen_op_idcor_T0(); + } break; default: /* Undefined Instruction */ Index: op.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-hppa/op.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** op.c 11 Mar 2007 16:11:36 -0000 1.12 --- op.c 12 Mar 2007 14:08:32 -0000 1.13 *************** *** 719,728 **** void OPPROTO op_dcor_T0(void) { ! /* XXX */ } void OPPROTO op_idcor_T0(void) { ! /* XXX */ } --- 719,742 ---- void OPPROTO op_dcor_T0(void) { ! T0 -= (((0x6 * (1 - PSW_CB0)) << 4) | ! (((0x6 * (1 - PSW_CB1)) << 4) | ! (((0x6 * (1 - PSW_CB2)) << 4) | ! (((0x6 * (1 - PSW_CB3)) << 4) | ! (((0x6 * (1 - PSW_CB4)) << 4) | ! (((0x6 * (1 - PSW_CB5)) << 4) | ! (((0x6 * (1 - PSW_CB6)) << 4) | ! (((0x6 * (1 - PSW_CB7))))))))))); } void OPPROTO op_idcor_T0(void) { ! T0 += (((0x6 * PSW_CB0) << 4) | ! (((0x6 * PSW_CB1) << 4) | ! (((0x6 * PSW_CB2) << 4) | ! (((0x6 * PSW_CB3) << 4) | ! (((0x6 * PSW_CB4) << 4) | ! (((0x6 * PSW_CB5) << 4) | ! (((0x6 * PSW_CB6) << 4) | ! (((0x6 * PSW_CB7)))))))))); } |