libhd  5.0
Macros | Functions
decode.h File Reference

Go to the source code of this file.

Macros

#define FETCH_DECODE_MODRM(mod, rh, rl)   fetch_decode_modrm(&mod,&rh,&rl)
#define DECODE_RM_BYTE_REGISTER(r)   decode_rm_byte_register(r)
#define DECODE_RM_WORD_REGISTER(r)   decode_rm_word_register(r)
#define DECODE_RM_LONG_REGISTER(r)   decode_rm_long_register(r)
#define DECODE_CLEAR_SEGOVR()   M.x86.mode &= ~SYSMODE_CLRMASK

Functions

void x86emu_intr_raise (u8 type)
void fetch_decode_modrm (int *mod, int *regh, int *regl)
u8 fetch_byte_imm (void)
u16 fetch_word_imm (void)
u32 fetch_long_imm (void)
u8 fetch_data_byte (uint offset)
u8 fetch_data_byte_abs (uint segment, uint offset)
u16 fetch_data_word (uint offset)
u16 fetch_data_word_abs (uint segment, uint offset)
u32 fetch_data_long (uint offset)
u32 fetch_data_long_abs (uint segment, uint offset)
void store_data_byte (uint offset, u8 val)
void store_data_byte_abs (uint segment, uint offset, u8 val)
void store_data_word (uint offset, u16 val)
void store_data_word_abs (uint segment, uint offset, u16 val)
void store_data_long (uint offset, u32 val)
void store_data_long_abs (uint segment, uint offset, u32 val)
u8decode_rm_byte_register (int reg)
u16decode_rm_word_register (int reg)
u32decode_rm_long_register (int reg)
u16decode_rm_seg_register (int reg)
u32 decode_rm00_address (int rm)
u32 decode_rm01_address (int rm)
u32 decode_rm10_address (int rm)
u32 decode_sib_address (int sib, int mod)

Macro Definition Documentation

#define DECODE_CLEAR_SEGOVR ( )    M.x86.mode &= ~SYSMODE_CLRMASK

Referenced by x86emuOp2_bsf(), x86emuOp2_bsr(), x86emuOp2_bt_R(), x86emuOp2_btc_R(), x86emuOp2_btr_R(), x86emuOp2_btX_I(), x86emuOp2_imul_R_RM(), x86emuOp2_invd(), x86emuOp2_lfs_R_IMM(), x86emuOp2_lgs_R_IMM(), x86emuOp2_long_jump(), x86emuOp2_lss_R_IMM(), x86emuOp2_movsx_byte_R_RM(), x86emuOp2_movsx_word_R_RM(), x86emuOp2_movzx_byte_R_RM(), x86emuOp2_movzx_word_R_RM(), x86emuOp2_opc_01(), x86emuOp2_pop_FS(), x86emuOp2_pop_GS(), x86emuOp2_push_FS(), x86emuOp2_push_GS(), x86emuOp2_rdmsr(), x86emuOp2_set_byte(), x86emuOp2_shld_CL(), x86emuOp2_shld_IMM(), x86emuOp2_shrd_CL(), x86emuOp2_shrd_IMM(), x86emuOp2_wbinvd(), x86emuOp2_wrmsr(), x86emuOp_aaa(), x86emuOp_aad(), x86emuOp_aam(), x86emuOp_aas(), x86emuOp_adc_byte_AL_IMM(), x86emuOp_adc_byte_R_RM(), x86emuOp_adc_byte_RM_R(), x86emuOp_adc_word_AX_IMM(), x86emuOp_adc_word_R_RM(), x86emuOp_adc_word_RM_R(), x86emuOp_add_byte_AL_IMM(), x86emuOp_add_byte_R_RM(), x86emuOp_add_byte_RM_R(), x86emuOp_add_word_AX_IMM(), x86emuOp_add_word_R_RM(), x86emuOp_add_word_RM_R(), x86emuOp_and_byte_AL_IMM(), x86emuOp_and_byte_R_RM(), x86emuOp_and_byte_RM_R(), x86emuOp_and_word_AX_IMM(), x86emuOp_and_word_R_RM(), x86emuOp_and_word_RM_R(), x86emuOp_call_far_IMM(), x86emuOp_call_near_IMM(), x86emuOp_cbw(), x86emuOp_clc(), x86emuOp_cld(), x86emuOp_cli(), x86emuOp_cmc(), x86emuOp_cmp_byte_AL_IMM(), x86emuOp_cmp_byte_R_RM(), x86emuOp_cmp_byte_RM_R(), x86emuOp_cmp_word_AX_IMM(), x86emuOp_cmp_word_R_RM(), x86emuOp_cmp_word_RM_R(), x86emuOp_cmps_byte(), x86emuOp_cmps_word(), x86emuOp_cwd(), x86emuOp_daa(), x86emuOp_das(), x86emuOp_dec_AX(), x86emuOp_dec_BP(), x86emuOp_dec_BX(), x86emuOp_dec_CX(), x86emuOp_dec_DI(), x86emuOp_dec_DX(), x86emuOp_dec_SI(), x86emuOp_dec_SP(), x86emuOp_enter(), x86emuOp_esc_coprocess_d8(), x86emuOp_esc_coprocess_d9(), x86emuOp_esc_coprocess_da(), x86emuOp_esc_coprocess_db(), x86emuOp_esc_coprocess_dc(), x86emuOp_esc_coprocess_dd(), x86emuOp_esc_coprocess_de(), x86emuOp_esc_coprocess_df(), x86emuOp_halt(), x86emuOp_imul_byte_IMM(), x86emuOp_imul_word_IMM(), x86emuOp_in_byte_AL_DX(), x86emuOp_in_byte_AL_IMM(), x86emuOp_in_word_AX_DX(), x86emuOp_in_word_AX_IMM(), x86emuOp_inc_AX(), x86emuOp_inc_BP(), x86emuOp_inc_BX(), x86emuOp_inc_CX(), x86emuOp_inc_DI(), x86emuOp_inc_DX(), x86emuOp_inc_SI(), x86emuOp_inc_SP(), x86emuOp_ins_byte(), x86emuOp_ins_word(), x86emuOp_int3(), x86emuOp_int_IMM(), x86emuOp_into(), x86emuOp_iret(), x86emuOp_jcxz(), x86emuOp_jump_byte_IMM(), x86emuOp_jump_far_IMM(), x86emuOp_jump_near_B(), x86emuOp_jump_near_BE(), x86emuOp_jump_near_IMM(), x86emuOp_jump_near_L(), x86emuOp_jump_near_LE(), x86emuOp_jump_near_NB(), x86emuOp_jump_near_NBE(), x86emuOp_jump_near_NL(), x86emuOp_jump_near_NLE(), x86emuOp_jump_near_NO(), x86emuOp_jump_near_NP(), x86emuOp_jump_near_NS(), x86emuOp_jump_near_NZ(), x86emuOp_jump_near_O(), x86emuOp_jump_near_P(), x86emuOp_jump_near_S(), x86emuOp_jump_near_Z(), x86emuOp_lahf(), x86emuOp_lds_R_IMM(), x86emuOp_lea_word_R_M(), x86emuOp_leave(), x86emuOp_les_R_IMM(), x86emuOp_lock(), x86emuOp_lods_byte(), x86emuOp_lods_word(), x86emuOp_loop(), x86emuOp_loope(), x86emuOp_loopne(), x86emuOp_mov_AL_M_IMM(), x86emuOp_mov_AX_M_IMM(), x86emuOp_mov_byte_AH_IMM(), x86emuOp_mov_byte_AL_IMM(), x86emuOp_mov_byte_BH_IMM(), x86emuOp_mov_byte_BL_IMM(), x86emuOp_mov_byte_CH_IMM(), x86emuOp_mov_byte_CL_IMM(), x86emuOp_mov_byte_DH_IMM(), x86emuOp_mov_byte_DL_IMM(), x86emuOp_mov_byte_R_RM(), x86emuOp_mov_byte_RM_IMM(), x86emuOp_mov_byte_RM_R(), x86emuOp_mov_M_AL_IMM(), x86emuOp_mov_M_AX_IMM(), x86emuOp_mov_word_AX_IMM(), x86emuOp_mov_word_BP_IMM(), x86emuOp_mov_word_BX_IMM(), x86emuOp_mov_word_CX_IMM(), x86emuOp_mov_word_DI_IMM(), x86emuOp_mov_word_DX_IMM(), x86emuOp_mov_word_R_RM(), x86emuOp_mov_word_RM_IMM(), x86emuOp_mov_word_RM_R(), x86emuOp_mov_word_RM_SR(), x86emuOp_mov_word_SI_IMM(), x86emuOp_mov_word_SP_IMM(), x86emuOp_mov_word_SR_RM(), x86emuOp_movs_byte(), x86emuOp_movs_word(), x86emuOp_nop(), x86emuOp_opc80_byte_RM_IMM(), x86emuOp_opc81_word_RM_IMM(), x86emuOp_opc82_byte_RM_IMM(), x86emuOp_opc83_word_RM_IMM(), x86emuOp_opcC0_byte_RM_MEM(), x86emuOp_opcC1_word_RM_MEM(), x86emuOp_opcD0_byte_RM_1(), x86emuOp_opcD1_word_RM_1(), x86emuOp_opcD2_byte_RM_CL(), x86emuOp_opcD3_word_RM_CL(), x86emuOp_opcF6_byte_RM(), x86emuOp_opcF7_word_RM(), x86emuOp_opcFE_byte_RM(), x86emuOp_opcFF_word_RM(), x86emuOp_or_byte_AL_IMM(), x86emuOp_or_byte_R_RM(), x86emuOp_or_byte_RM_R(), x86emuOp_or_word_AX_IMM(), x86emuOp_or_word_R_RM(), x86emuOp_or_word_RM_R(), x86emuOp_out_byte_DX_AL(), x86emuOp_out_byte_IMM_AL(), x86emuOp_out_word_DX_AX(), x86emuOp_out_word_IMM_AX(), x86emuOp_outs_byte(), x86emuOp_outs_word(), x86emuOp_pop_all(), x86emuOp_pop_AX(), x86emuOp_pop_BP(), x86emuOp_pop_BX(), x86emuOp_pop_CX(), x86emuOp_pop_DI(), x86emuOp_pop_DS(), x86emuOp_pop_DX(), x86emuOp_pop_ES(), x86emuOp_pop_RM(), x86emuOp_pop_SI(), x86emuOp_pop_SP(), x86emuOp_pop_SS(), x86emuOp_popf_word(), x86emuOp_push_all(), x86emuOp_push_AX(), x86emuOp_push_BP(), x86emuOp_push_BX(), x86emuOp_push_byte_IMM(), x86emuOp_push_CS(), x86emuOp_push_CX(), x86emuOp_push_DI(), x86emuOp_push_DS(), x86emuOp_push_DX(), x86emuOp_push_ES(), x86emuOp_push_SI(), x86emuOp_push_SP(), x86emuOp_push_SS(), x86emuOp_push_word_IMM(), x86emuOp_pushf_word(), x86emuOp_repe(), x86emuOp_repne(), x86emuOp_ret_far(), x86emuOp_ret_far_IMM(), x86emuOp_ret_near(), x86emuOp_ret_near_IMM(), x86emuOp_sahf(), x86emuOp_sbb_byte_AL_IMM(), x86emuOp_sbb_byte_R_RM(), x86emuOp_sbb_byte_RM_R(), x86emuOp_sbb_word_AX_IMM(), x86emuOp_sbb_word_R_RM(), x86emuOp_sbb_word_RM_R(), x86emuOp_scas_byte(), x86emuOp_scas_word(), x86emuOp_stc(), x86emuOp_std(), x86emuOp_sti(), x86emuOp_stos_byte(), x86emuOp_stos_word(), x86emuOp_sub_byte_AL_IMM(), x86emuOp_sub_byte_R_RM(), x86emuOp_sub_byte_RM_R(), x86emuOp_sub_word_AX_IMM(), x86emuOp_sub_word_R_RM(), x86emuOp_sub_word_RM_R(), x86emuOp_test_AL_IMM(), x86emuOp_test_AX_IMM(), x86emuOp_test_byte_RM_R(), x86emuOp_test_word_RM_R(), x86emuOp_wait(), x86emuOp_xchg_byte_RM_R(), x86emuOp_xchg_word_AX_BP(), x86emuOp_xchg_word_AX_BX(), x86emuOp_xchg_word_AX_CX(), x86emuOp_xchg_word_AX_DI(), x86emuOp_xchg_word_AX_DX(), x86emuOp_xchg_word_AX_SI(), x86emuOp_xchg_word_AX_SP(), x86emuOp_xchg_word_RM_R(), x86emuOp_xlat(), x86emuOp_xor_byte_AL_IMM(), x86emuOp_xor_byte_R_RM(), x86emuOp_xor_byte_RM_R(), x86emuOp_xor_word_AX_IMM(), x86emuOp_xor_word_R_RM(), and x86emuOp_xor_word_RM_R().

#define DECODE_RM_BYTE_REGISTER (   r)    decode_rm_byte_register(r)
#define DECODE_RM_LONG_REGISTER (   r)    decode_rm_long_register(r)
#define DECODE_RM_WORD_REGISTER (   r)    decode_rm_word_register(r)
#define FETCH_DECODE_MODRM (   mod,
  rh,
  rl 
)    fetch_decode_modrm(&mod,&rh,&rl)

Referenced by x86emuOp2_bsf(), x86emuOp2_bsr(), x86emuOp2_bt_R(), x86emuOp2_btc_R(), x86emuOp2_btr_R(), x86emuOp2_btX_I(), x86emuOp2_imul_R_RM(), x86emuOp2_lfs_R_IMM(), x86emuOp2_lgs_R_IMM(), x86emuOp2_lss_R_IMM(), x86emuOp2_movsx_byte_R_RM(), x86emuOp2_movsx_word_R_RM(), x86emuOp2_movzx_byte_R_RM(), x86emuOp2_movzx_word_R_RM(), x86emuOp2_opc_01(), x86emuOp2_set_byte(), x86emuOp2_shld_CL(), x86emuOp2_shld_IMM(), x86emuOp2_shrd_CL(), x86emuOp2_shrd_IMM(), x86emuOp_adc_byte_R_RM(), x86emuOp_adc_byte_RM_R(), x86emuOp_adc_word_R_RM(), x86emuOp_adc_word_RM_R(), x86emuOp_add_byte_R_RM(), x86emuOp_add_byte_RM_R(), x86emuOp_add_word_R_RM(), x86emuOp_add_word_RM_R(), x86emuOp_and_byte_R_RM(), x86emuOp_and_byte_RM_R(), x86emuOp_and_word_R_RM(), x86emuOp_and_word_RM_R(), x86emuOp_cmp_byte_R_RM(), x86emuOp_cmp_byte_RM_R(), x86emuOp_cmp_word_R_RM(), x86emuOp_cmp_word_RM_R(), x86emuOp_esc_coprocess_d9(), x86emuOp_esc_coprocess_da(), x86emuOp_esc_coprocess_db(), x86emuOp_esc_coprocess_dc(), x86emuOp_esc_coprocess_dd(), x86emuOp_esc_coprocess_de(), x86emuOp_esc_coprocess_df(), x86emuOp_imul_byte_IMM(), x86emuOp_imul_word_IMM(), x86emuOp_lds_R_IMM(), x86emuOp_lea_word_R_M(), x86emuOp_les_R_IMM(), x86emuOp_mov_byte_R_RM(), x86emuOp_mov_byte_RM_IMM(), x86emuOp_mov_byte_RM_R(), x86emuOp_mov_word_R_RM(), x86emuOp_mov_word_RM_IMM(), x86emuOp_mov_word_RM_R(), x86emuOp_mov_word_RM_SR(), x86emuOp_mov_word_SR_RM(), x86emuOp_opc80_byte_RM_IMM(), x86emuOp_opc81_word_RM_IMM(), x86emuOp_opc82_byte_RM_IMM(), x86emuOp_opc83_word_RM_IMM(), x86emuOp_opcC0_byte_RM_MEM(), x86emuOp_opcC1_word_RM_MEM(), x86emuOp_opcD0_byte_RM_1(), x86emuOp_opcD1_word_RM_1(), x86emuOp_opcD2_byte_RM_CL(), x86emuOp_opcD3_word_RM_CL(), x86emuOp_opcF6_byte_RM(), x86emuOp_opcF7_word_RM(), x86emuOp_opcFE_byte_RM(), x86emuOp_opcFF_word_RM(), x86emuOp_or_byte_R_RM(), x86emuOp_or_byte_RM_R(), x86emuOp_or_word_R_RM(), x86emuOp_or_word_RM_R(), x86emuOp_pop_RM(), x86emuOp_sbb_byte_R_RM(), x86emuOp_sbb_byte_RM_R(), x86emuOp_sbb_word_R_RM(), x86emuOp_sbb_word_RM_R(), x86emuOp_sub_byte_R_RM(), x86emuOp_sub_byte_RM_R(), x86emuOp_sub_word_R_RM(), x86emuOp_sub_word_RM_R(), x86emuOp_test_byte_RM_R(), x86emuOp_test_word_RM_R(), x86emuOp_xchg_byte_RM_R(), x86emuOp_xchg_word_RM_R(), x86emuOp_xor_byte_R_RM(), x86emuOp_xor_byte_RM_R(), x86emuOp_xor_word_R_RM(), and x86emuOp_xor_word_RM_R().

Function Documentation

u32 decode_rm00_address ( int  rm)

References DECODE_PRINTF, DECODE_PRINTF2, decode_sib_address(), fetch_byte_imm(), fetch_long_imm(), fetch_word_imm(), HALT_SYS, M, SYSMODE_PREFIX_ADDR, and SYSMODE_SEG_DS_SS.

Referenced by x86emuOp2_bsf(), x86emuOp2_bsr(), x86emuOp2_bt_R(), x86emuOp2_btc_R(), x86emuOp2_btr_R(), x86emuOp2_btX_I(), x86emuOp2_imul_R_RM(), x86emuOp2_lfs_R_IMM(), x86emuOp2_lgs_R_IMM(), x86emuOp2_lss_R_IMM(), x86emuOp2_movsx_byte_R_RM(), x86emuOp2_movsx_word_R_RM(), x86emuOp2_movzx_byte_R_RM(), x86emuOp2_movzx_word_R_RM(), x86emuOp2_set_byte(), x86emuOp2_shld_CL(), x86emuOp2_shld_IMM(), x86emuOp2_shrd_CL(), x86emuOp2_shrd_IMM(), x86emuOp_adc_byte_R_RM(), x86emuOp_adc_byte_RM_R(), x86emuOp_adc_word_R_RM(), x86emuOp_adc_word_RM_R(), x86emuOp_add_byte_R_RM(), x86emuOp_add_byte_RM_R(), x86emuOp_add_word_R_RM(), x86emuOp_add_word_RM_R(), x86emuOp_and_byte_R_RM(), x86emuOp_and_byte_RM_R(), x86emuOp_and_word_R_RM(), x86emuOp_and_word_RM_R(), x86emuOp_cmp_byte_R_RM(), x86emuOp_cmp_byte_RM_R(), x86emuOp_cmp_word_R_RM(), x86emuOp_cmp_word_RM_R(), x86emuOp_esc_coprocess_d9(), x86emuOp_esc_coprocess_da(), x86emuOp_esc_coprocess_db(), x86emuOp_esc_coprocess_dc(), x86emuOp_esc_coprocess_dd(), x86emuOp_esc_coprocess_de(), x86emuOp_esc_coprocess_df(), x86emuOp_imul_byte_IMM(), x86emuOp_imul_word_IMM(), x86emuOp_lds_R_IMM(), x86emuOp_lea_word_R_M(), x86emuOp_les_R_IMM(), x86emuOp_mov_byte_R_RM(), x86emuOp_mov_byte_RM_IMM(), x86emuOp_mov_byte_RM_R(), x86emuOp_mov_word_R_RM(), x86emuOp_mov_word_RM_IMM(), x86emuOp_mov_word_RM_R(), x86emuOp_mov_word_RM_SR(), x86emuOp_mov_word_SR_RM(), x86emuOp_opc80_byte_RM_IMM(), x86emuOp_opc81_word_RM_IMM(), x86emuOp_opc82_byte_RM_IMM(), x86emuOp_opc83_word_RM_IMM(), x86emuOp_opcC0_byte_RM_MEM(), x86emuOp_opcC1_word_RM_MEM(), x86emuOp_opcD0_byte_RM_1(), x86emuOp_opcD1_word_RM_1(), x86emuOp_opcD2_byte_RM_CL(), x86emuOp_opcD3_word_RM_CL(), x86emuOp_opcF6_byte_RM(), x86emuOp_opcF7_word_RM(), x86emuOp_opcFE_byte_RM(), x86emuOp_opcFF_word_RM(), x86emuOp_or_byte_R_RM(), x86emuOp_or_byte_RM_R(), x86emuOp_or_word_R_RM(), x86emuOp_or_word_RM_R(), x86emuOp_pop_RM(), x86emuOp_sbb_byte_R_RM(), x86emuOp_sbb_byte_RM_R(), x86emuOp_sbb_word_R_RM(), x86emuOp_sbb_word_RM_R(), x86emuOp_sub_byte_R_RM(), x86emuOp_sub_byte_RM_R(), x86emuOp_sub_word_R_RM(), x86emuOp_sub_word_RM_R(), x86emuOp_test_byte_RM_R(), x86emuOp_test_word_RM_R(), x86emuOp_xchg_byte_RM_R(), x86emuOp_xchg_word_RM_R(), x86emuOp_xor_byte_R_RM(), x86emuOp_xor_byte_RM_R(), x86emuOp_xor_word_R_RM(), and x86emuOp_xor_word_RM_R().

u32 decode_rm01_address ( int  rm)

References DECODE_PRINTF2, decode_sib_address(), fetch_byte_imm(), HALT_SYS, M, SYSMODE_PREFIX_ADDR, and SYSMODE_SEG_DS_SS.

Referenced by x86emuOp2_bsf(), x86emuOp2_bsr(), x86emuOp2_bt_R(), x86emuOp2_btc_R(), x86emuOp2_btr_R(), x86emuOp2_btX_I(), x86emuOp2_imul_R_RM(), x86emuOp2_lfs_R_IMM(), x86emuOp2_lgs_R_IMM(), x86emuOp2_lss_R_IMM(), x86emuOp2_movsx_byte_R_RM(), x86emuOp2_movsx_word_R_RM(), x86emuOp2_movzx_byte_R_RM(), x86emuOp2_movzx_word_R_RM(), x86emuOp2_set_byte(), x86emuOp2_shld_CL(), x86emuOp2_shld_IMM(), x86emuOp2_shrd_CL(), x86emuOp2_shrd_IMM(), x86emuOp_adc_byte_R_RM(), x86emuOp_adc_byte_RM_R(), x86emuOp_adc_word_R_RM(), x86emuOp_adc_word_RM_R(), x86emuOp_add_byte_R_RM(), x86emuOp_add_byte_RM_R(), x86emuOp_add_word_R_RM(), x86emuOp_add_word_RM_R(), x86emuOp_and_byte_R_RM(), x86emuOp_and_byte_RM_R(), x86emuOp_and_word_R_RM(), x86emuOp_and_word_RM_R(), x86emuOp_cmp_byte_R_RM(), x86emuOp_cmp_byte_RM_R(), x86emuOp_cmp_word_R_RM(), x86emuOp_cmp_word_RM_R(), x86emuOp_esc_coprocess_d9(), x86emuOp_esc_coprocess_da(), x86emuOp_esc_coprocess_db(), x86emuOp_esc_coprocess_dc(), x86emuOp_esc_coprocess_dd(), x86emuOp_esc_coprocess_de(), x86emuOp_esc_coprocess_df(), x86emuOp_imul_byte_IMM(), x86emuOp_imul_word_IMM(), x86emuOp_lds_R_IMM(), x86emuOp_lea_word_R_M(), x86emuOp_les_R_IMM(), x86emuOp_mov_byte_R_RM(), x86emuOp_mov_byte_RM_IMM(), x86emuOp_mov_byte_RM_R(), x86emuOp_mov_word_R_RM(), x86emuOp_mov_word_RM_IMM(), x86emuOp_mov_word_RM_R(), x86emuOp_mov_word_RM_SR(), x86emuOp_mov_word_SR_RM(), x86emuOp_opc80_byte_RM_IMM(), x86emuOp_opc81_word_RM_IMM(), x86emuOp_opc82_byte_RM_IMM(), x86emuOp_opc83_word_RM_IMM(), x86emuOp_opcC0_byte_RM_MEM(), x86emuOp_opcC1_word_RM_MEM(), x86emuOp_opcD0_byte_RM_1(), x86emuOp_opcD1_word_RM_1(), x86emuOp_opcD2_byte_RM_CL(), x86emuOp_opcD3_word_RM_CL(), x86emuOp_opcF6_byte_RM(), x86emuOp_opcF7_word_RM(), x86emuOp_opcFE_byte_RM(), x86emuOp_opcFF_word_RM(), x86emuOp_or_byte_R_RM(), x86emuOp_or_byte_RM_R(), x86emuOp_or_word_R_RM(), x86emuOp_or_word_RM_R(), x86emuOp_pop_RM(), x86emuOp_sbb_byte_R_RM(), x86emuOp_sbb_byte_RM_R(), x86emuOp_sbb_word_R_RM(), x86emuOp_sbb_word_RM_R(), x86emuOp_sub_byte_R_RM(), x86emuOp_sub_byte_RM_R(), x86emuOp_sub_word_R_RM(), x86emuOp_sub_word_RM_R(), x86emuOp_test_byte_RM_R(), x86emuOp_test_word_RM_R(), x86emuOp_xchg_byte_RM_R(), x86emuOp_xchg_word_RM_R(), x86emuOp_xor_byte_R_RM(), x86emuOp_xor_byte_RM_R(), x86emuOp_xor_word_R_RM(), and x86emuOp_xor_word_RM_R().

u32 decode_rm10_address ( int  rm)

References DECODE_PRINTF2, decode_sib_address(), fetch_byte_imm(), fetch_long_imm(), fetch_word_imm(), HALT_SYS, M, SYSMODE_PREFIX_ADDR, SYSMODE_SEG_DS_SS, u16, and u32.

Referenced by x86emuOp2_bsf(), x86emuOp2_bsr(), x86emuOp2_bt_R(), x86emuOp2_btc_R(), x86emuOp2_btr_R(), x86emuOp2_btX_I(), x86emuOp2_imul_R_RM(), x86emuOp2_lfs_R_IMM(), x86emuOp2_lgs_R_IMM(), x86emuOp2_lss_R_IMM(), x86emuOp2_movsx_byte_R_RM(), x86emuOp2_movsx_word_R_RM(), x86emuOp2_movzx_byte_R_RM(), x86emuOp2_movzx_word_R_RM(), x86emuOp2_set_byte(), x86emuOp2_shld_CL(), x86emuOp2_shld_IMM(), x86emuOp2_shrd_CL(), x86emuOp2_shrd_IMM(), x86emuOp_adc_byte_R_RM(), x86emuOp_adc_byte_RM_R(), x86emuOp_adc_word_R_RM(), x86emuOp_adc_word_RM_R(), x86emuOp_add_byte_R_RM(), x86emuOp_add_byte_RM_R(), x86emuOp_add_word_R_RM(), x86emuOp_add_word_RM_R(), x86emuOp_and_byte_R_RM(), x86emuOp_and_byte_RM_R(), x86emuOp_and_word_R_RM(), x86emuOp_and_word_RM_R(), x86emuOp_cmp_byte_R_RM(), x86emuOp_cmp_byte_RM_R(), x86emuOp_cmp_word_R_RM(), x86emuOp_cmp_word_RM_R(), x86emuOp_esc_coprocess_d9(), x86emuOp_esc_coprocess_da(), x86emuOp_esc_coprocess_db(), x86emuOp_esc_coprocess_dc(), x86emuOp_esc_coprocess_dd(), x86emuOp_esc_coprocess_de(), x86emuOp_esc_coprocess_df(), x86emuOp_imul_byte_IMM(), x86emuOp_imul_word_IMM(), x86emuOp_lds_R_IMM(), x86emuOp_lea_word_R_M(), x86emuOp_les_R_IMM(), x86emuOp_mov_byte_R_RM(), x86emuOp_mov_byte_RM_IMM(), x86emuOp_mov_byte_RM_R(), x86emuOp_mov_word_R_RM(), x86emuOp_mov_word_RM_IMM(), x86emuOp_mov_word_RM_R(), x86emuOp_mov_word_RM_SR(), x86emuOp_mov_word_SR_RM(), x86emuOp_opc80_byte_RM_IMM(), x86emuOp_opc81_word_RM_IMM(), x86emuOp_opc82_byte_RM_IMM(), x86emuOp_opc83_word_RM_IMM(), x86emuOp_opcC0_byte_RM_MEM(), x86emuOp_opcC1_word_RM_MEM(), x86emuOp_opcD0_byte_RM_1(), x86emuOp_opcD1_word_RM_1(), x86emuOp_opcD2_byte_RM_CL(), x86emuOp_opcD3_word_RM_CL(), x86emuOp_opcF6_byte_RM(), x86emuOp_opcF7_word_RM(), x86emuOp_opcFE_byte_RM(), x86emuOp_opcFF_word_RM(), x86emuOp_or_byte_R_RM(), x86emuOp_or_byte_RM_R(), x86emuOp_or_word_R_RM(), x86emuOp_or_word_RM_R(), x86emuOp_pop_RM(), x86emuOp_sbb_byte_R_RM(), x86emuOp_sbb_byte_RM_R(), x86emuOp_sbb_word_R_RM(), x86emuOp_sbb_word_RM_R(), x86emuOp_sub_byte_R_RM(), x86emuOp_sub_byte_RM_R(), x86emuOp_sub_word_R_RM(), x86emuOp_sub_word_RM_R(), x86emuOp_test_byte_RM_R(), x86emuOp_test_word_RM_R(), x86emuOp_xchg_byte_RM_R(), x86emuOp_xchg_word_RM_R(), x86emuOp_xor_byte_R_RM(), x86emuOp_xor_byte_RM_R(), x86emuOp_xor_word_R_RM(), and x86emuOp_xor_word_RM_R().

u8* decode_rm_byte_register ( int  reg)

References DECODE_PRINTF, HALT_SYS, and M.

u32* decode_rm_long_register ( int  reg)

References DECODE_PRINTF, HALT_SYS, and M.

u16* decode_rm_seg_register ( int  reg)
u16* decode_rm_word_register ( int  reg)

References DECODE_PRINTF, HALT_SYS, and M.

u32 decode_sib_address ( int  sib,
int  mod 
)
u8 fetch_byte_imm ( void  )

References CHECK_IP_FETCH, DB, INC_DECODED_INST_LEN, M, u32, and x86emu_check_ip_access().

Referenced by decode_rm00_address(), decode_rm01_address(), decode_rm10_address(), x86emuOp2_btX_I(), x86emuOp2_shld_IMM(), x86emuOp2_shrd_IMM(), x86emuOp_aad(), x86emuOp_aam(), x86emuOp_adc_byte_AL_IMM(), x86emuOp_add_byte_AL_IMM(), x86emuOp_and_byte_AL_IMM(), x86emuOp_cmp_byte_AL_IMM(), x86emuOp_enter(), x86emuOp_imul_byte_IMM(), x86emuOp_in_byte_AL_IMM(), x86emuOp_in_word_AX_IMM(), x86emuOp_int_IMM(), x86emuOp_jcxz(), x86emuOp_jump_byte_IMM(), x86emuOp_jump_near_B(), x86emuOp_jump_near_BE(), x86emuOp_jump_near_L(), x86emuOp_jump_near_LE(), x86emuOp_jump_near_NB(), x86emuOp_jump_near_NBE(), x86emuOp_jump_near_NL(), x86emuOp_jump_near_NLE(), x86emuOp_jump_near_NO(), x86emuOp_jump_near_NP(), x86emuOp_jump_near_NS(), x86emuOp_jump_near_NZ(), x86emuOp_jump_near_O(), x86emuOp_jump_near_P(), x86emuOp_jump_near_S(), x86emuOp_jump_near_Z(), x86emuOp_loop(), x86emuOp_loope(), x86emuOp_loopne(), x86emuOp_mov_byte_AH_IMM(), x86emuOp_mov_byte_AL_IMM(), x86emuOp_mov_byte_BH_IMM(), x86emuOp_mov_byte_BL_IMM(), x86emuOp_mov_byte_CH_IMM(), x86emuOp_mov_byte_CL_IMM(), x86emuOp_mov_byte_DH_IMM(), x86emuOp_mov_byte_DL_IMM(), x86emuOp_mov_byte_RM_IMM(), x86emuOp_opc80_byte_RM_IMM(), x86emuOp_opc82_byte_RM_IMM(), x86emuOp_opc83_word_RM_IMM(), x86emuOp_opcC0_byte_RM_MEM(), x86emuOp_opcC1_word_RM_MEM(), x86emuOp_opcF6_byte_RM(), x86emuOp_or_byte_AL_IMM(), x86emuOp_out_byte_IMM_AL(), x86emuOp_out_word_IMM_AX(), x86emuOp_push_byte_IMM(), x86emuOp_sbb_byte_AL_IMM(), x86emuOp_sub_byte_AL_IMM(), x86emuOp_test_AL_IMM(), and x86emuOp_xor_byte_AL_IMM().

u8 fetch_data_byte ( uint  offset)
u8 fetch_data_byte_abs ( uint  segment,
uint  offset 
)
u32 fetch_data_long ( uint  offset)
u32 fetch_data_long_abs ( uint  segment,
uint  offset 
)
u16 fetch_data_word ( uint  offset)
u16 fetch_data_word_abs ( uint  segment,
uint  offset 
)
void fetch_decode_modrm ( int *  mod,
int *  regh,
int *  regl 
)
u32 fetch_long_imm ( void  )
u16 fetch_word_imm ( void  )
void store_data_byte ( uint  offset,
u8  val 
)
void store_data_byte_abs ( uint  segment,
uint  offset,
u8  val 
)
void store_data_long ( uint  offset,
u32  val 
)
void store_data_long_abs ( uint  segment,
uint  offset,
u32  val 
)
void store_data_word ( uint  offset,
u16  val 
)
void store_data_word_abs ( uint  segment,
uint  offset,
u16  val 
)
void x86emu_intr_raise ( u8  type)

References INTR_SYNCH, and M.

Referenced by div_byte(), div_long(), div_word(), idiv_byte(), idiv_long(), and idiv_word().