|
|
| version 1.9, 2003/11/29 03:38:26 | version 1.11, 2003/12/08 00:55:31 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "i286.h" | #include "cpucore.h" |
| #include "i286c.h" | #include "i286c.h" |
| #include "memory.h" | #include "memory.h" |
| #include "i286c.mcr" | #include "i286c.mcr" |
| Line 122 I286_F6 _div_ea8(UINT op) { | Line 122 I286_F6 _div_ea8(UINT op) { |
| src = i286_memoryread(CALC_EA(op)); | src = i286_memoryread(CALC_EA(op)); |
| } | } |
| tmp = I286_AX; | tmp = I286_AX; |
| if (tmp < ((UINT16)src << 8)) { | if ((src) && (tmp < ((UINT16)src << 8))) { |
| I286_AL = tmp / src; | I286_AL = tmp / src; |
| I286_AH = tmp % src; | I286_AH = tmp % src; |
| } | } |
| Line 277 I286_F6 _div_ea16(UINT op) { | Line 277 I286_F6 _div_ea16(UINT op) { |
| src = i286_memoryread_w(CALC_EA(op)); | src = i286_memoryread_w(CALC_EA(op)); |
| } | } |
| tmp = (I286_DX << 16) + I286_AX; | tmp = (I286_DX << 16) + I286_AX; |
| if (tmp < (src << 16)) { | if ((src) && (tmp < (src << 16))) { |
| I286_AX = (SINT16)(tmp / src); | I286_AX = (SINT16)(tmp / src); |
| I286_DX = (SINT16)(tmp % src); | I286_DX = (SINT16)(tmp % src); |
| } | } |