Go to the source code of this file.
|
void * | get_variable_length_register (v8086 *machine, uint8_t reg_field, uint8_t width) |
|
int16_t | calculate_segment_offset_from_mode (v8086 *machine, uint8_t mod_rm, uint16_t *segment, uint32_t *offset) |
|
int16_t | calculate_segment_offset_from_mode_32 (v8086 *machine, uint8_t mod_rm, uint16_t *segment, uint32_t *offset) |
|
void * | get_memory_from_mode (v8086 *machine, uint8_t mod_rm, uint8_t width) |
|
◆ get_byte_register
#define get_byte_register |
( |
|
machine, |
|
|
|
reg_field |
|
) |
| ((uint8_t*)(&(machine->regs.h.al) + ((((reg_field) & 3) << 2) + ((reg_field) >> 2)))) |
◆ get_dword_register
◆ get_word_register
#define get_word_register |
( |
|
machine, |
|
|
|
reg_field |
|
) |
| ((uint16_t*)(&(machine->regs.d.eax) + (reg_field))) |
◆ select_segment_register
#define select_segment_register |
( |
|
machine, |
|
|
|
select |
|
) |
| ((uint16_t*)(&((machine)->sregs.es) + (select))) |
◆ calculate_segment_offset_from_mode()
int16_t calculate_segment_offset_from_mode |
( |
v8086 * |
machine, |
|
|
uint8_t |
mod_rm, |
|
|
uint16_t * |
segment, |
|
|
uint32_t * |
offset |
|
) |
| |
◆ calculate_segment_offset_from_mode_32()
int16_t calculate_segment_offset_from_mode_32 |
( |
v8086 * |
machine, |
|
|
uint8_t |
mod_rm, |
|
|
uint16_t * |
segment, |
|
|
uint32_t * |
offset |
|
) |
| |
◆ get_memory_from_mode()
void* get_memory_from_mode |
( |
v8086 * |
machine, |
|
|
uint8_t |
mod_rm, |
|
|
uint8_t |
width |
|
) |
| |
◆ get_variable_length_register()
void* get_variable_length_register |
( |
v8086 * |
machine, |
|
|
uint8_t |
reg_field, |
|
|
uint8_t |
width |
|
) |
| |