| version 1.1, 2003/12/08 00:55:31 | version 1.2, 2003/12/22 18:00:31 | 
| Line 40  DWORD | Line 40  DWORD | 
 | calc_ea_dst(DWORD op) | calc_ea_dst(DWORD op) | 
 | { | { | 
 |  |  | 
 |  | __ASSERT(op < 0x100); | 
 |  |  | 
 | if (!CPU_INST_AS32) | if (!CPU_INST_AS32) | 
 | return ((*calc_ea_dst_tbl[op])() & 0xffff); | return ((*calc_ea_dst_tbl[op])() & 0xffff); | 
 | return (*calc_ea32_dst_tbl[op])(); | return (*calc_ea32_dst_tbl[op])(); | 
| Line 69  static DWORD | Line 71  static DWORD | 
 | ea_bx_si(void) | ea_bx_si(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA16(0); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (CPU_BX + CPU_SI); | return (CPU_BX + CPU_SI); | 
 | } | } | 
| Line 78  ea_bx_si_disp8(void) | Line 82  ea_bx_si_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(1); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (adrs + CPU_BX + CPU_SI); | return (adrs + CPU_BX + CPU_SI); | 
| Line 88  ea_bx_si_disp16(void) | Line 94  ea_bx_si_disp16(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(2); | 
 |  |  | 
 | GET_PCWORD(adrs); | GET_PCWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (adrs + CPU_BX + CPU_SI); | return (adrs + CPU_BX + CPU_SI); | 
| Line 97  static DWORD | Line 105  static DWORD | 
 | ea_bx_di(void) | ea_bx_di(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA16(3); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (CPU_BX + CPU_DI); | return (CPU_BX + CPU_DI); | 
 | } | } | 
| Line 106  ea_bx_di_disp8(void) | Line 116  ea_bx_di_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(4); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (adrs + CPU_BX + CPU_DI); | return (adrs + CPU_BX + CPU_DI); | 
| Line 116  ea_bx_di_disp16(void) | Line 128  ea_bx_di_disp16(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(5); | 
 |  |  | 
 | GET_PCWORD(adrs); | GET_PCWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (adrs + CPU_BX + CPU_DI); | return (adrs + CPU_BX + CPU_DI); | 
| Line 125  static DWORD | Line 139  static DWORD | 
 | ea_bp_si(void) | ea_bp_si(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA16(6); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = SS_FIX; | CPU_INST_SEGREG_INDEX = SS_FIX; | 
 | return (CPU_BP + CPU_SI); | return (CPU_BP + CPU_SI); | 
 | } | } | 
| Line 134  ea_bp_si_disp8(void) | Line 150  ea_bp_si_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(7); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = SS_FIX; | CPU_INST_SEGREG_INDEX = SS_FIX; | 
 | return (adrs + CPU_BP + CPU_SI); | return (adrs + CPU_BP + CPU_SI); | 
| Line 144  ea_bp_si_disp16(void) | Line 162  ea_bp_si_disp16(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(8); | 
 |  |  | 
 | GET_PCWORD(adrs); | GET_PCWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = SS_FIX; | CPU_INST_SEGREG_INDEX = SS_FIX; | 
 | return (adrs + CPU_BP + CPU_SI); | return (adrs + CPU_BP + CPU_SI); | 
| Line 153  static DWORD | Line 173  static DWORD | 
 | ea_bp_di(void) | ea_bp_di(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA16(9); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = SS_FIX; | CPU_INST_SEGREG_INDEX = SS_FIX; | 
 | return (CPU_BP + CPU_DI); | return (CPU_BP + CPU_DI); | 
 | } | } | 
| Line 162  ea_bp_di_disp8(void) | Line 184  ea_bp_di_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(10); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = SS_FIX; | CPU_INST_SEGREG_INDEX = SS_FIX; | 
 | return (adrs + CPU_BP + CPU_DI); | return (adrs + CPU_BP + CPU_DI); | 
| Line 172  ea_bp_di_disp16(void) | Line 196  ea_bp_di_disp16(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(11); | 
 |  |  | 
 | GET_PCWORD(adrs); | GET_PCWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = SS_FIX; | CPU_INST_SEGREG_INDEX = SS_FIX; | 
 | return (adrs + CPU_BP + CPU_DI); | return (adrs + CPU_BP + CPU_DI); | 
| Line 181  static DWORD | Line 207  static DWORD | 
 | ea_si(void) | ea_si(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA16(12); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return CPU_SI; | return CPU_SI; | 
 | } | } | 
| Line 190  ea_si_disp8(void) | Line 218  ea_si_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(13); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (adrs + CPU_SI); | return (adrs + CPU_SI); | 
| Line 200  ea_si_disp16(void) | Line 230  ea_si_disp16(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(14); | 
 |  |  | 
 | GET_PCWORD(adrs); | GET_PCWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (adrs + CPU_SI); | return (adrs + CPU_SI); | 
| Line 209  static DWORD | Line 241  static DWORD | 
 | ea_di(void) | ea_di(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA16(15); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return CPU_DI; | return CPU_DI; | 
 | } | } | 
| Line 218  ea_di_disp8(void) | Line 252  ea_di_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(16); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (adrs + CPU_DI); | return (adrs + CPU_DI); | 
| Line 228  ea_di_disp16(void) | Line 264  ea_di_disp16(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(17); | 
 |  |  | 
 | GET_PCWORD(adrs); | GET_PCWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (adrs + CPU_DI); | return (adrs + CPU_DI); | 
| Line 238  ea_disp16(void) | Line 276  ea_disp16(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(18); | 
 |  |  | 
 | GET_PCWORD(adrs); | GET_PCWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs; | return adrs; | 
| Line 248  ea_bp_disp8(void) | Line 288  ea_bp_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(19); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = SS_FIX; | CPU_INST_SEGREG_INDEX = SS_FIX; | 
 | return (adrs + CPU_BP); | return (adrs + CPU_BP); | 
| Line 258  ea_bp_disp16(void) | Line 300  ea_bp_disp16(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(20); | 
 |  |  | 
 | GET_PCWORD(adrs); | GET_PCWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = SS_FIX; | CPU_INST_SEGREG_INDEX = SS_FIX; | 
 | return (adrs + CPU_BP); | return (adrs + CPU_BP); | 
| Line 267  static DWORD | Line 311  static DWORD | 
 | ea_bx(void) | ea_bx(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA16(21); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return CPU_BX; | return CPU_BX; | 
 | } | } | 
| Line 276  ea_bx_disp8(void) | Line 322  ea_bx_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(22); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (adrs + CPU_BX); | return (adrs + CPU_BX); | 
| Line 286  ea_bx_disp16(void) | Line 334  ea_bx_disp16(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA16(23); | 
 |  |  | 
 | GET_PCWORD(adrs); | GET_PCWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return (adrs + CPU_BX); | return (adrs + CPU_BX); | 
| Line 317  static DWORD | Line 367  static DWORD | 
 | ea32_eax(void) | ea32_eax(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA32(0); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return CPU_EAX; | return CPU_EAX; | 
 | } | } | 
| Line 325  static DWORD | Line 377  static DWORD | 
 | ea32_ecx(void) | ea32_ecx(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA32(1); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return CPU_ECX; | return CPU_ECX; | 
 | } | } | 
| Line 333  static DWORD | Line 387  static DWORD | 
 | ea32_edx(void) | ea32_edx(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA32(2); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return CPU_EDX; | return CPU_EDX; | 
 | } | } | 
| Line 341  static DWORD | Line 397  static DWORD | 
 | ea32_ebx(void) | ea32_ebx(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA32(3); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return CPU_EBX; | return CPU_EBX; | 
 | } | } | 
| Line 351  ea32_sib(void) | Line 409  ea32_sib(void) | 
 | DWORD op, dst; | DWORD op, dst; | 
 | DWORD base, idx, scale; | DWORD base, idx, scale; | 
 |  |  | 
 |  | PROFILE_INC_EA32(4); | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | dst = 0;        /* compiler happy */ | dst = 0;        /* compiler happy */ | 
 |  |  | 
| Line 375  ea32_sib(void) | Line 435  ea32_sib(void) | 
 | } | } | 
 | if (idx != 4) | if (idx != 4) | 
 | dst += CPU_REGS_DWORD(idx) << scale; | dst += CPU_REGS_DWORD(idx) << scale; | 
 |  | PROFILE_INC_SIB0(op); | 
 | return dst; | return dst; | 
 | } | } | 
 |  |  | 
| Line 383  ea32_disp32(void) | Line 444  ea32_disp32(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(5); | 
 |  |  | 
 | GET_PCDWORD(adrs); | GET_PCDWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs; | return adrs; | 
| Line 392  static DWORD | Line 455  static DWORD | 
 | ea32_esi(void) | ea32_esi(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA32(6); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return CPU_ESI; | return CPU_ESI; | 
 | } | } | 
| Line 400  static DWORD | Line 465  static DWORD | 
 | ea32_edi(void) | ea32_edi(void) | 
 | { | { | 
 |  |  | 
 |  | PROFILE_INC_EA32(7); | 
 |  |  | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return CPU_EDI; | return CPU_EDI; | 
 | } | } | 
| Line 409  ea32_eax_disp8(void) | Line 476  ea32_eax_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(8); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_EAX; | return adrs + CPU_EAX; | 
| Line 419  ea32_ecx_disp8(void) | Line 488  ea32_ecx_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(9); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_ECX; | return adrs + CPU_ECX; | 
| Line 429  ea32_edx_disp8(void) | Line 500  ea32_edx_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(10); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_EDX; | return adrs + CPU_EDX; | 
| Line 439  ea32_ebx_disp8(void) | Line 512  ea32_ebx_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(11); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_EBX; | return adrs + CPU_EBX; | 
| Line 451  ea32_sib_disp8(void) | Line 526  ea32_sib_disp8(void) | 
 | DWORD op; | DWORD op; | 
 | DWORD base, idx, scale; | DWORD base, idx, scale; | 
 |  |  | 
 |  | PROFILE_INC_EA32(12); | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 |  |  | 
| Line 468  ea32_sib_disp8(void) | Line 545  ea32_sib_disp8(void) | 
 | } | } | 
 | if (idx != 4) | if (idx != 4) | 
 | adrs += CPU_REGS_DWORD(idx) << scale; | adrs += CPU_REGS_DWORD(idx) << scale; | 
 |  | PROFILE_INC_SIB1(op); | 
 | return CPU_REGS_DWORD(base) + adrs; | return CPU_REGS_DWORD(base) + adrs; | 
 | } | } | 
 |  |  | 
| Line 476  ea32_ebp_disp8(void) | Line 554  ea32_ebp_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(13); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = SS_FIX; | CPU_INST_SEGREG_INDEX = SS_FIX; | 
 | return adrs + CPU_EBP; | return adrs + CPU_EBP; | 
| Line 486  ea32_esi_disp8(void) | Line 566  ea32_esi_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(14); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_ESI; | return adrs + CPU_ESI; | 
| Line 496  ea32_edi_disp8(void) | Line 578  ea32_edi_disp8(void) | 
 | { | { | 
 | SDWORD adrs; | SDWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(15); | 
 |  |  | 
 | GET_PCBYTESD(adrs); | GET_PCBYTESD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_EDI; | return adrs + CPU_EDI; | 
| Line 506  ea32_eax_disp32(void) | Line 590  ea32_eax_disp32(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(16); | 
 |  |  | 
 | GET_PCDWORD(adrs); | GET_PCDWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_EAX; | return adrs + CPU_EAX; | 
| Line 516  ea32_ecx_disp32(void) | Line 602  ea32_ecx_disp32(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(17); | 
 |  |  | 
 | GET_PCDWORD(adrs); | GET_PCDWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_ECX; | return adrs + CPU_ECX; | 
| Line 526  ea32_edx_disp32(void) | Line 614  ea32_edx_disp32(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(18); | 
 |  |  | 
 | GET_PCDWORD(adrs); | GET_PCDWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_EDX; | return adrs + CPU_EDX; | 
| Line 536  ea32_ebx_disp32(void) | Line 626  ea32_ebx_disp32(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(19); | 
 |  |  | 
 | GET_PCDWORD(adrs); | GET_PCDWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_EBX; | return adrs + CPU_EBX; | 
| Line 548  ea32_sib_disp32(void) | Line 640  ea32_sib_disp32(void) | 
 | DWORD op; | DWORD op; | 
 | DWORD base, idx, scale; | DWORD base, idx, scale; | 
 |  |  | 
 |  | PROFILE_INC_EA32(20); | 
 |  |  | 
 | GET_PCBYTE(op); | GET_PCBYTE(op); | 
 | GET_PCDWORD(adrs); | GET_PCDWORD(adrs); | 
 |  |  | 
| Line 565  ea32_sib_disp32(void) | Line 659  ea32_sib_disp32(void) | 
 | } | } | 
 | if (idx != 4) | if (idx != 4) | 
 | adrs += CPU_REGS_DWORD(idx) << scale; | adrs += CPU_REGS_DWORD(idx) << scale; | 
 |  | PROFILE_INC_SIB2(op); | 
 | return CPU_REGS_DWORD(base) + adrs; | return CPU_REGS_DWORD(base) + adrs; | 
 | } | } | 
 |  |  | 
| Line 573  ea32_ebp_disp32(void) | Line 668  ea32_ebp_disp32(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(21); | 
 |  |  | 
 | GET_PCDWORD(adrs); | GET_PCDWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = SS_FIX; | CPU_INST_SEGREG_INDEX = SS_FIX; | 
 | return adrs + CPU_EBP; | return adrs + CPU_EBP; | 
| Line 583  ea32_esi_disp32(void) | Line 680  ea32_esi_disp32(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(22); | 
 |  |  | 
 | GET_PCDWORD(adrs); | GET_PCDWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_ESI; | return adrs + CPU_ESI; | 
| Line 593  ea32_edi_disp32(void) | Line 692  ea32_edi_disp32(void) | 
 | { | { | 
 | DWORD adrs; | DWORD adrs; | 
 |  |  | 
 |  | PROFILE_INC_EA32(23); | 
 |  |  | 
 | GET_PCDWORD(adrs); | GET_PCDWORD(adrs); | 
 | CPU_INST_SEGREG_INDEX = DS_FIX; | CPU_INST_SEGREG_INDEX = DS_FIX; | 
 | return adrs + CPU_EDI; | return adrs + CPU_EDI; |