MicrOS
mod_rm_parsing.c File Reference
#include "mod_rm_parsing.h"
#include <string.h>
#include "memory_operations.h"

Functions

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 read_and_parse_sib (v8086 *machine, uint8_t mod, 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)
 

Function Documentation

◆ 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 
)

◆ read_and_parse_sib()

int16_t read_and_parse_sib ( v8086 machine,
uint8_t  mod,
uint16_t **  segment,
uint32_t offset 
)