decode.c File Reference

#include "x86emu/x86emui.h"
#include <time.h>

Defines

#define GET_SEGMENT(segment)

Functions

static void x86emu_intr_handle (void)
void x86emu_intr_raise (u8 intrnum)
void X86EMU_exec (unsigned timeout)
void X86EMU_halt_sys (void)
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)
_INLINE u32 get_data_segment (void)
u8 fetch_data_byte (uint offset)
u16 fetch_data_word (uint offset)
u32 fetch_data_long (uint offset)
u8 fetch_data_byte_abs (uint segment, uint offset)
u16 fetch_data_word_abs (uint segment, uint offset)
u32 fetch_data_long_abs (uint segment, uint offset)
void store_data_byte (uint offset, u8 val)
void store_data_word (uint offset, u16 val)
void store_data_long (uint offset, u32 val)
void store_data_byte_abs (uint segment, uint offset, u8 val)
void store_data_word_abs (uint segment, uint offset, u16 val)
void store_data_long_abs (uint segment, uint offset, u32 val)
u8 * decode_rm_byte_register (int reg)
u16 * decode_rm_word_register (int reg)
u32 * decode_rm_long_register (int reg)
u16 * decode_rm_seg_register (int reg)
u32 decode_sib_address (int sib, int mod)
u32 decode_rm00_address (int rm)
u32 decode_rm01_address (int rm)
u32 decode_rm10_address (int rm)

Define Documentation

#define GET_SEGMENT ( segment   ) 


Function Documentation

u32 decode_rm00_address ( int  rm  ) 

u32 decode_rm01_address ( int  rm  ) 

u32 decode_rm10_address ( int  rm  ) 

u8* decode_rm_byte_register ( int  reg  ) 

u32* decode_rm_long_register ( int  reg  ) 

u16* decode_rm_seg_register ( int  reg  ) 

u16* decode_rm_word_register ( int  reg  ) 

u32 decode_sib_address ( int  sib,
int  mod 
)

u8 fetch_byte_imm ( void   ) 

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   ) 

_INLINE u32 get_data_segment ( 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_exec ( unsigned  timeout  ) 

void X86EMU_halt_sys ( void   ) 

static void x86emu_intr_handle ( void   )  [static]

void x86emu_intr_raise ( u8  intrnum  )