CF generator for constant operands

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1267 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2005-02-07 12:42:35 +00:00
parent e88de09993
commit 7ff4d2180b
2 changed files with 7 additions and 1 deletions

View File

@ -105,6 +105,11 @@ void OPPROTO op_movl_T1_im(void)
T1 = PARAM1;
}
void OPPROTO op_mov_CF_T1(void)
{
env->CF = ((uint32_t)T1) >> 31;
}
void OPPROTO op_movl_T2_im(void)
{
T2 = PARAM1;

View File

@ -536,7 +536,8 @@ static void disas_arm_insn(DisasContext *s)
if (shift)
val = (val >> shift) | (val << (32 - shift));
gen_op_movl_T1_im(val);
/* XXX: is CF modified ? */
if (logic_cc && shift)
gen_op_mov_CF_T1();
} else {
/* register */
rm = (insn) & 0xf;