提交 aa268ea6 编写于 作者: P pbrook

Thumb shifter carry flag fixes.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3083 c046a42c-6fe2-441c-8c8c-71466251a162
上级 4ce6f8de
...@@ -819,7 +819,7 @@ void OPPROTO op_shll_T0_im_thumb(void) ...@@ -819,7 +819,7 @@ void OPPROTO op_shll_T0_im_thumb(void)
int shift; int shift;
shift = PARAM1; shift = PARAM1;
if (shift != 0) { if (shift != 0) {
env->CF = (T1 >> (32 - shift)) & 1; env->CF = (T0 >> (32 - shift)) & 1;
T0 = T0 << shift; T0 = T0 << shift;
} }
env->NZF = T0; env->NZF = T0;
...@@ -832,7 +832,7 @@ void OPPROTO op_shrl_T0_im_thumb(void) ...@@ -832,7 +832,7 @@ void OPPROTO op_shrl_T0_im_thumb(void)
shift = PARAM1; shift = PARAM1;
if (shift == 0) { if (shift == 0) {
env->CF = ((uint32_t)shift) >> 31; env->CF = ((uint32_t)T0) >> 31;
T0 = 0; T0 = 0;
} else { } else {
env->CF = (T0 >> (shift - 1)) & 1; env->CF = (T0 >> (shift - 1)) & 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册