PCem

changeset 163:b7ff0dbb7baf

Fixed incorrect flags on some versions of IMUL.
author TomW
date Sat Sep 27 12:13:46 2014 +0100
parents a0a99c64d528
children 9a88154e8608
files src/x86_ops_mul.h
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line diff
     1.1 --- a/src/x86_ops_mul.h	Mon Sep 22 19:28:42 2014 +0100
     1.2 +++ b/src/x86_ops_mul.h	Sat Sep 27 12:13:46 2014 +0100
     1.3 @@ -160,7 +160,7 @@
     1.4  
     1.5  static int opIMUL_w_w_a16(uint32_t fetchdat)
     1.6  {
     1.7 -        int32_t templ;
     1.8 +        uint32_t templ;
     1.9          
    1.10          fetch_ea_16(fetchdat);
    1.11          templ = (int32_t)(int16_t)regs[reg].w * (int32_t)(int16_t)geteaw();
    1.12 @@ -175,7 +175,7 @@
    1.13  }
    1.14  static int opIMUL_w_w_a32(uint32_t fetchdat)
    1.15  {
    1.16 -        int32_t templ;
    1.17 +        uint32_t templ;
    1.18          
    1.19          fetch_ea_32(fetchdat);
    1.20          templ = (int32_t)(int16_t)regs[reg].w * (int32_t)(int16_t)geteaw();
    1.21 @@ -191,7 +191,7 @@
    1.22  
    1.23  static int opIMUL_l_l_a16(uint32_t fetchdat)
    1.24  {
    1.25 -        int64_t temp64;
    1.26 +        uint64_t temp64;
    1.27  
    1.28          fetch_ea_16(fetchdat);
    1.29          temp64 = (int64_t)(int32_t)regs[reg].l * (int64_t)(int32_t)geteal();
    1.30 @@ -206,7 +206,7 @@
    1.31  }
    1.32  static int opIMUL_l_l_a32(uint32_t fetchdat)
    1.33  {
    1.34 -        int64_t temp64;
    1.35 +        uint64_t temp64;
    1.36  
    1.37          fetch_ea_32(fetchdat);
    1.38          temp64 = (int64_t)(int32_t)regs[reg].l * (int64_t)(int32_t)geteal();