diff --git a/.gitignore b/.gitignore index 4a214dc1..89921218 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ images/* v86_all.js -cpu.js +src/cpu.js diff --git a/src/cpu.js b/src/cpu.js index 6c53bc7c..a080e0d6 100644 --- a/src/cpu.js +++ b/src/cpu.js @@ -5550,7 +5550,7 @@ function FPU(io) case 2: // fist var st0 = get_st0(); - if(st0 <= 0x7FFF || st0 >= -0x8000) + if(st0 <= 0x7FFF && st0 >= -0x8000) { safe_write16(addr, integer_round(st0)); } @@ -5563,7 +5563,7 @@ function FPU(io) case 3: // fistp var st0 = get_st0(); - if(st0 <= 0x7FFF || st0 >= -0x8000) + if(st0 <= 0x7FFF && st0 >= -0x8000) { safe_write16(addr, integer_round(st0)); } diff --git a/src/fpu.macro.js b/src/fpu.macro.js index 0f8dc40d..51f76656 100644 --- a/src/fpu.macro.js +++ b/src/fpu.macro.js @@ -1633,7 +1633,7 @@ function FPU(io) // fistp var st0 = integer_round(get_st0()); - if(!(st0 <= 0x7FFFFFFFFFFFFFFF || st0 >= -0x8000000000000000)) + if(!(st0 <= 0x7FFFFFFFFFFFFFFF && st0 >= -0x8000000000000000)) { st0 = 0x8000000000000000; invalid_arithmatic();