| version 1.1, 2003/12/08 00:55:31 | version 1.6, 2004/03/23 15:29:34 | 
| Line 38 | Line 38 | 
 | void | void | 
 | Grp1_EbIb(void) | Grp1_EbIb(void) | 
 | { | { | 
| DWORD op; | UINT8 *out; | 
|  | UINT32 madr; | 
|  | UINT32 op, src; | 
 | int idx; | int idx; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
| CPU_WORKCLOCK(3); | CPU_WORKCLOCK(2); | 
| (*insttable_G1EbIb[idx])(reg8_b20[op]); | out = reg8_b20[op]; | 
|  | GET_PCBYTE(src); | 
|  | (*insttable_G1EbIb[idx])(out, src); | 
 | } else { | } else { | 
 | CPU_WORKCLOCK(7); | CPU_WORKCLOCK(7); | 
| (*insttable_G1EbIb_ext[idx])(calc_ea_dst(op)); | madr = calc_ea_dst(op); | 
|  | GET_PCBYTE(src); | 
|  | (*insttable_G1EbIb_ext[idx])(madr, src); | 
 | } | } | 
 | } | } | 
 |  |  | 
 | void | void | 
 | Grp1_EwIb(void) | Grp1_EwIb(void) | 
 | { | { | 
| WORD *out; | UINT16 *out; | 
| DWORD op, madr, src; | UINT32 madr, src; | 
|  | UINT32 op; | 
 | int idx; | int idx; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
| CPU_WORKCLOCK(3); | CPU_WORKCLOCK(2); | 
 | out = reg16_b20[op]; | out = reg16_b20[op]; | 
 | GET_PCBYTES(src); | GET_PCBYTES(src); | 
 | (*insttable_G1EwIx[idx])(out, src); | (*insttable_G1EwIx[idx])(out, src); | 
| Line 77  Grp1_EwIb(void) | Line 84  Grp1_EwIb(void) | 
 | void | void | 
 | Grp1_EdIb(void) | Grp1_EdIb(void) | 
 | { | { | 
| DWORD *out; | UINT32 *out; | 
| DWORD op, madr, src; | UINT32 madr, src; | 
|  | UINT32 op; | 
 | int idx; | int idx; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
| CPU_WORKCLOCK(3); | CPU_WORKCLOCK(2); | 
 | out = reg32_b20[op]; | out = reg32_b20[op]; | 
 | GET_PCBYTESD(src); | GET_PCBYTESD(src); | 
 | (*insttable_G1EdIx[idx])(out, src); | (*insttable_G1EdIx[idx])(out, src); | 
| Line 99  Grp1_EdIb(void) | Line 107  Grp1_EdIb(void) | 
 | void | void | 
 | Grp1_EwIw(void) | Grp1_EwIw(void) | 
 | { | { | 
| WORD *out; | UINT16 *out; | 
| DWORD op, madr, src; | UINT32 madr, src; | 
|  | UINT32 op; | 
 | int idx; | int idx; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
| CPU_WORKCLOCK(3); | CPU_WORKCLOCK(2); | 
 | out = reg16_b20[op]; | out = reg16_b20[op]; | 
 | GET_PCWORD(src); | GET_PCWORD(src); | 
 | (*insttable_G1EwIx[idx])(out, src); | (*insttable_G1EwIx[idx])(out, src); | 
| Line 121  Grp1_EwIw(void) | Line 130  Grp1_EwIw(void) | 
 | void | void | 
 | Grp1_EdId(void) | Grp1_EdId(void) | 
 | { | { | 
| DWORD *out; | UINT32 *out; | 
| DWORD op, madr, src; | UINT32 madr, src; | 
|  | UINT32 op; | 
 | int idx; | int idx; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
| CPU_WORKCLOCK(3); | CPU_WORKCLOCK(2); | 
 | out = reg32_b20[op]; | out = reg32_b20[op]; | 
 | GET_PCDWORD(src); | GET_PCDWORD(src); | 
 | (*insttable_G1EdIx[idx])(out, src); | (*insttable_G1EdIx[idx])(out, src); | 
| Line 145  Grp1_EdId(void) | Line 155  Grp1_EdId(void) | 
 | void | void | 
 | Grp2_EbIb(void) | Grp2_EbIb(void) | 
 | { | { | 
| BYTE *out; | UINT8 *out; | 
| DWORD op, madr; | UINT32 madr; | 
|  | UINT32 op; | 
|  | UINT32 cl; | 
 | int idx; | int idx; | 
 | BYTE cl; |  | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
| Line 170  Grp2_EbIb(void) | Line 181  Grp2_EbIb(void) | 
 | void | void | 
 | Grp2_EwIb(void) | Grp2_EwIb(void) | 
 | { | { | 
| WORD *out; | UINT16 *out; | 
| DWORD op, madr; | UINT32 madr; | 
|  | UINT32 op; | 
|  | UINT32 cl; | 
 | int idx; | int idx; | 
 | BYTE cl; |  | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
| Line 195  Grp2_EwIb(void) | Line 207  Grp2_EwIb(void) | 
 | void | void | 
 | Grp2_EdIb(void) | Grp2_EdIb(void) | 
 | { | { | 
| DWORD *out; | UINT32 *out; | 
| DWORD op, madr; | UINT32 madr; | 
|  | UINT32 op; | 
|  | UINT32 cl; | 
 | int idx; | int idx; | 
 | BYTE cl; |  | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
| Line 220  Grp2_EdIb(void) | Line 233  Grp2_EdIb(void) | 
 | void | void | 
 | Grp2_Eb(void) | Grp2_Eb(void) | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 | int idx; | int idx; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
| Line 237  Grp2_Eb(void) | Line 250  Grp2_Eb(void) | 
 | void | void | 
 | Grp2_Ew(void) | Grp2_Ew(void) | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 | int idx; | int idx; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
| Line 254  Grp2_Ew(void) | Line 267  Grp2_Ew(void) | 
 | void | void | 
 | Grp2_Ed(void) | Grp2_Ed(void) | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 | int idx; | int idx; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
| Line 271  Grp2_Ed(void) | Line 284  Grp2_Ed(void) | 
 | void | void | 
 | Grp2_EbCL(void) | Grp2_EbCL(void) | 
 | { | { | 
| BYTE *out; | UINT8 *out; | 
| DWORD op, madr; | UINT32 madr; | 
|  | UINT32 op; | 
|  | UINT32 cl; | 
 | int idx; | int idx; | 
 | BYTE cl; |  | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
| Line 282  Grp2_EbCL(void) | Line 296  Grp2_EbCL(void) | 
 | CPU_WORKCLOCK(5); | CPU_WORKCLOCK(5); | 
 | out = reg8_b20[op]; | out = reg8_b20[op]; | 
 | cl = CPU_CL; | cl = CPU_CL; | 
| CPU_WORKCLOCK(cl & 0x1f); | cl &= 0x1f; | 
|  | CPU_WORKCLOCK(cl); | 
 | (*insttable_G2EbCL[idx])(out, cl); | (*insttable_G2EbCL[idx])(out, cl); | 
 | } else { | } else { | 
 | CPU_WORKCLOCK(8); | CPU_WORKCLOCK(8); | 
 | madr = calc_ea_dst(op); | madr = calc_ea_dst(op); | 
 | cl = CPU_CL; | cl = CPU_CL; | 
| CPU_WORKCLOCK(cl & 0x1f); | cl &= 0x1f; | 
|  | CPU_WORKCLOCK(cl); | 
 | (*insttable_G2EbCL_ext[idx])(madr, cl); | (*insttable_G2EbCL_ext[idx])(madr, cl); | 
 | } | } | 
 | } | } | 
| Line 296  Grp2_EbCL(void) | Line 312  Grp2_EbCL(void) | 
 | void | void | 
 | Grp2_EwCL(void) | Grp2_EwCL(void) | 
 | { | { | 
| WORD *out; | UINT16 *out; | 
| DWORD op, madr; | UINT32 madr; | 
|  | UINT32 op; | 
|  | UINT32 cl; | 
 | int idx; | int idx; | 
 | BYTE cl; |  | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
| Line 307  Grp2_EwCL(void) | Line 324  Grp2_EwCL(void) | 
 | CPU_WORKCLOCK(5); | CPU_WORKCLOCK(5); | 
 | out = reg16_b20[op]; | out = reg16_b20[op]; | 
 | cl = CPU_CL; | cl = CPU_CL; | 
| CPU_WORKCLOCK(cl & 0x1f); | cl &= 0x1f; | 
|  | CPU_WORKCLOCK(cl); | 
 | (*insttable_G2EwCL[idx])(out, cl); | (*insttable_G2EwCL[idx])(out, cl); | 
 | } else { | } else { | 
 | CPU_WORKCLOCK(8); | CPU_WORKCLOCK(8); | 
 | madr = calc_ea_dst(op); | madr = calc_ea_dst(op); | 
 | cl = CPU_CL; | cl = CPU_CL; | 
| CPU_WORKCLOCK(cl & 0x1f); | cl &= 0x1f; | 
|  | CPU_WORKCLOCK(cl); | 
 | (*insttable_G2EwCL_ext[idx])(madr, cl); | (*insttable_G2EwCL_ext[idx])(madr, cl); | 
 | } | } | 
 | } | } | 
| Line 321  Grp2_EwCL(void) | Line 340  Grp2_EwCL(void) | 
 | void | void | 
 | Grp2_EdCL(void) | Grp2_EdCL(void) | 
 | { | { | 
| DWORD *out; | UINT32 *out; | 
| DWORD op, madr; | UINT32 madr; | 
|  | UINT32 op; | 
|  | UINT32 cl; | 
 | int idx; | int idx; | 
 | BYTE  cl; |  | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | idx = (op >> 3) & 7; | idx = (op >> 3) & 7; | 
| Line 332  Grp2_EdCL(void) | Line 352  Grp2_EdCL(void) | 
 | CPU_WORKCLOCK(5); | CPU_WORKCLOCK(5); | 
 | out = reg32_b20[op]; | out = reg32_b20[op]; | 
 | cl = CPU_CL; | cl = CPU_CL; | 
| CPU_WORKCLOCK(cl & 0x1f); | cl &= 0x1f; | 
|  | CPU_WORKCLOCK(cl); | 
 | (*insttable_G2EdCL[idx])(out, cl); | (*insttable_G2EdCL[idx])(out, cl); | 
 | } else { | } else { | 
 | CPU_WORKCLOCK(8); | CPU_WORKCLOCK(8); | 
 | madr = calc_ea_dst(op); | madr = calc_ea_dst(op); | 
 | cl = CPU_CL; | cl = CPU_CL; | 
| CPU_WORKCLOCK(cl & 0x1f); | cl &= 0x1f; | 
|  | CPU_WORKCLOCK(cl); | 
 | (*insttable_G2EdCL_ext[idx])(madr, cl); | (*insttable_G2EdCL_ext[idx])(madr, cl); | 
 | } | } | 
 | } | } | 
| Line 348  Grp2_EdCL(void) | Line 370  Grp2_EdCL(void) | 
 | void | void | 
 | Grp3_Eb(void) | Grp3_Eb(void) | 
 | { | { | 
|  | UINT32 op; | 
| DWORD op; |  | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | (*insttable_G3Eb[(op >> 3) & 7])(op); | (*insttable_G3Eb[(op >> 3) & 7])(op); | 
| Line 358  Grp3_Eb(void) | Line 379  Grp3_Eb(void) | 
 | void | void | 
 | Grp3_Ew(void) | Grp3_Ew(void) | 
 | { | { | 
|  | UINT32 op; | 
| DWORD op; |  | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | (*insttable_G3Ew[(op >> 3) & 7])(op); | (*insttable_G3Ew[(op >> 3) & 7])(op); | 
| Line 368  Grp3_Ew(void) | Line 388  Grp3_Ew(void) | 
 | void | void | 
 | Grp3_Ed(void) | Grp3_Ed(void) | 
 | { | { | 
|  | UINT32 op; | 
| DWORD op; |  | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | (*insttable_G3Ed[(op >> 3) & 7])(op); | (*insttable_G3Ed[(op >> 3) & 7])(op); | 
| Line 380  Grp3_Ed(void) | Line 399  Grp3_Ed(void) | 
 | void | void | 
 | Grp4(void) | Grp4(void) | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | (*insttable_G4[(op >> 3) & 7])(op); | (*insttable_G4[(op >> 3) & 7])(op); | 
| Line 391  Grp4(void) | Line 410  Grp4(void) | 
 | void | void | 
 | Grp5_Ew(void) | Grp5_Ew(void) | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | (*insttable_G5Ew[(op >> 3) & 7])(op); | (*insttable_G5Ew[(op >> 3) & 7])(op); | 
| Line 400  Grp5_Ew(void) | Line 419  Grp5_Ew(void) | 
 | void | void | 
 | Grp5_Ed(void) | Grp5_Ed(void) | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | (*insttable_G5Ed[(op >> 3) & 7])(op); | (*insttable_G5Ed[(op >> 3) & 7])(op); | 
| Line 409  Grp5_Ed(void) | Line 428  Grp5_Ed(void) | 
 |  |  | 
 | /* group 6 */ | /* group 6 */ | 
 | void | void | 
| Grp6_16(void) | Grp6(void) | 
| { |  | 
| DWORD op; |  | 
|  |  | 
| GET_PCBYTE(op); |  | 
| (*insttable_G6_16[(op >> 3) & 7])(op); |  | 
| } |  | 
|  |  | 
| void |  | 
| Grp6_32(void) |  | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
| (*insttable_G6_32[(op >> 3) & 7])(op); | (*insttable_G6[(op >> 3) & 7])(op); | 
 | } | } | 
 |  |  | 
 |  |  | 
 | /* group 7 */ | /* group 7 */ | 
 | void | void | 
| Grp7_16(void) | Grp7(void) | 
| { |  | 
| DWORD op; |  | 
|  |  | 
| GET_PCBYTE(op); |  | 
| (*insttable_G7_16[(op >> 3) & 7])(op); |  | 
| } |  | 
|  |  | 
| void |  | 
| Grp7_32(void) |  | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
| (*insttable_G7_32[(op >> 3) & 7])(op); | (*insttable_G7[(op >> 3) & 7])(op); | 
 | } | } | 
 |  |  | 
 |  |  | 
| Line 451  Grp7_32(void) | Line 452  Grp7_32(void) | 
 | void | void | 
 | Grp8_EwIb(void) | Grp8_EwIb(void) | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | (*insttable_G8EwIb[(op >> 3) & 7])(op); | (*insttable_G8EwIb[(op >> 3) & 7])(op); | 
| Line 460  Grp8_EwIb(void) | Line 461  Grp8_EwIb(void) | 
 | void | void | 
 | Grp8_EdIb(void) | Grp8_EdIb(void) | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | (*insttable_G8EdIb[(op >> 3) & 7])(op); | (*insttable_G8EdIb[(op >> 3) & 7])(op); | 
| Line 471  Grp8_EdIb(void) | Line 472  Grp8_EdIb(void) | 
 | void | void | 
 | Grp9(void) | Grp9(void) | 
 | { | { | 
| DWORD op; | UINT32 op; | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | (*insttable_G9[(op >> 3) & 7])(op); | (*insttable_G9[(op >> 3) & 7])(op); |