1 #ifndef V8086_MOD_RM_PARSING_H 2 #define V8086_MOD_RM_PARSING_H 6 #define get_byte_register(machine, reg_field) ((uint8_t*)(&(machine->regs.h.al) + ((((reg_field) & 3) << 2) + ((reg_field) >> 2)))) 7 #define get_word_register(machine, reg_field) ((uint16_t*)(&(machine->regs.d.eax) + (reg_field))) 8 #define get_dword_register(machine, reg_field) ((uint32_t*)(&(machine->regs.d.eax) + (reg_field))) 15 #define select_segment_register(machine, select) ((uint16_t*)(&((machine)->sregs.es) + (select))) 22 #endif //V8086_MOD_RM_PARSING_H void * get_variable_length_register(v8086 *machine, uint8_t reg_field, uint8_t width)
Definition: mod_rm_parsing.c:5
int16_t calculate_segment_offset_from_mode(v8086 *machine, uint8_t mod_rm, uint16_t *segment, uint32_t *offset)
Definition: mod_rm_parsing.c:21
v8086 * machine
Definition: vbe.c:8
void * get_memory_from_mode(v8086 *machine, uint8_t mod_rm, uint8_t width)
Definition: mod_rm_parsing.c:378
int16_t calculate_segment_offset_from_mode_32(v8086 *machine, uint8_t mod_rm, uint16_t *segment, uint32_t *offset)
Definition: mod_rm_parsing.c:243
size_t uint32_t
Unsigned integral type.
Definition: string.h:8