Fixed zero flag on byte & word SHL - Windows 98 setup works again.
This commit is contained in:
parent
273639bd79
commit
e761114740
1 changed files with 2 additions and 2 deletions
|
|
@ -66,7 +66,7 @@
|
||||||
break; \
|
break; \
|
||||||
case 0x20: case 0x30: /*SHL b,CL*/ \
|
case 0x20: case 0x30: /*SHL b,CL*/ \
|
||||||
seteab(temp << c); if (abrt) return 0; \
|
seteab(temp << c); if (abrt) return 0; \
|
||||||
set_flags_shift(FLAGS_SHL8, temp_orig, c, temp << c); \
|
set_flags_shift(FLAGS_SHL8, temp_orig, c, (temp << c) & 0xff); \
|
||||||
if ((temp << (c - 1)) & 0x80) flags |= C_FLAG; \
|
if ((temp << (c - 1)) & 0x80) flags |= C_FLAG; \
|
||||||
cycles -= ((mod == 3) ? 3 : 7); \
|
cycles -= ((mod == 3) ? 3 : 7); \
|
||||||
break; \
|
break; \
|
||||||
|
|
@ -160,7 +160,7 @@
|
||||||
break; \
|
break; \
|
||||||
case 0x20: case 0x30: /*SHL w, c*/ \
|
case 0x20: case 0x30: /*SHL w, c*/ \
|
||||||
seteaw(temp << c); if (abrt) return 0; \
|
seteaw(temp << c); if (abrt) return 0; \
|
||||||
set_flags_shift(FLAGS_SHL16, temp_orig, c, temp << c); \
|
set_flags_shift(FLAGS_SHL16, temp_orig, c, (temp << c) & 0xffff); \
|
||||||
if ((temp << (c - 1)) & 0x8000) flags |= C_FLAG; \
|
if ((temp << (c - 1)) & 0x8000) flags |= C_FLAG; \
|
||||||
cycles -= ((mod == 3) ? 3 : 7); \
|
cycles -= ((mod == 3) ? 3 : 7); \
|
||||||
break; \
|
break; \
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue