decoder.c File Reference

Go to the source code of this file.

Functions

uint32_t vm_getbits (command_t *command, int32_t start, int32_t count)
static uint16_t get_GPRM (registers_t *registers, uint8_t reg)
static void set_GPRM (registers_t *registers, uint8_t reg, uint16_t value)
static uint16_t eval_reg (command_t *command, uint8_t reg)
static uint16_t eval_reg_or_data (command_t *command, int32_t imm, int32_t start)
static uint16_t eval_reg_or_data_2 (command_t *command, int32_t imm, int32_t start)
static int32_t eval_compare (uint8_t operation, uint16_t data1, uint16_t data2)
static int32_t eval_if_version_1 (command_t *command)
static int32_t eval_if_version_2 (command_t *command)
static int32_t eval_if_version_3 (command_t *command)
static int32_t eval_if_version_4 (command_t *command)
static int32_t eval_special_instruction (command_t *command, int32_t cond)
static int32_t eval_link_subins (command_t *command, int32_t cond, link_t *return_values)
static int32_t eval_link_instruction (command_t *command, int32_t cond, link_t *return_values)
static int32_t eval_jump_instruction (command_t *command, int32_t cond, link_t *return_values)
static int32_t eval_system_set (command_t *command, int32_t cond, link_t *return_values)
static void eval_set_op (command_t *command, int32_t op, int32_t reg, int32_t reg2, int32_t data)
static void eval_set_version_1 (command_t *command, int32_t cond)
static void eval_set_version_2 (command_t *command, int32_t cond)
static int32_t eval_command (uint8_t *bytes, registers_t *registers, link_t *return_values)
int32_t vmEval_CMD (vm_cmd_t commands[], int32_t num_commands, registers_t *registers, link_t *return_values)
static char * linkcmd2str (link_cmd_t cmd)
void vm_print_link (link_t value)
void vm_print_registers (registers_t *registers)


Function Documentation

uint32_t vm_getbits ( command_t command,
int32_t  start,
int32_t  count 
)

static uint16_t get_GPRM ( registers_t registers,
uint8_t  reg 
) [static]

Definition at line 62 of file decoder.c.

Referenced by eval_reg(), eval_reg_or_data_2(), eval_set_op(), and vm_print_registers().

static void set_GPRM ( registers_t registers,
uint8_t  reg,
uint16_t  value 
) [static]

Definition at line 86 of file decoder.c.

Referenced by eval_set_op(), and eval_system_set().

static uint16_t eval_reg ( command_t command,
uint8_t  reg 
) [static]

static uint16_t eval_reg_or_data ( command_t command,
int32_t  imm,
int32_t  start 
) [static]

static uint16_t eval_reg_or_data_2 ( command_t command,
int32_t  imm,
int32_t  start 
) [static]

Definition at line 126 of file decoder.c.

Referenced by eval_system_set().

static int32_t eval_compare ( uint8_t  operation,
uint16_t  data1,
uint16_t  data2 
) [static]

static int32_t eval_if_version_1 ( command_t command  )  [static]

Definition at line 161 of file decoder.c.

Referenced by eval_command().

static int32_t eval_if_version_2 ( command_t command  )  [static]

Definition at line 172 of file decoder.c.

Referenced by eval_command().

static int32_t eval_if_version_3 ( command_t command  )  [static]

Definition at line 183 of file decoder.c.

Referenced by eval_command().

static int32_t eval_if_version_4 ( command_t command  )  [static]

Definition at line 195 of file decoder.c.

Referenced by eval_command().

static int32_t eval_special_instruction ( command_t command,
int32_t  cond 
) [static]

Definition at line 206 of file decoder.c.

Referenced by eval_command().

static int32_t eval_link_subins ( command_t command,
int32_t  cond,
link_t return_values 
) [static]

Definition at line 236 of file decoder.c.

Referenced by eval_command(), and eval_link_instruction().

static int32_t eval_link_instruction ( command_t command,
int32_t  cond,
link_t return_values 
) [static]

Definition at line 253 of file decoder.c.

Referenced by eval_command(), and eval_system_set().

static int32_t eval_jump_instruction ( command_t command,
int32_t  cond,
link_t return_values 
) [static]

Definition at line 286 of file decoder.c.

Referenced by eval_command().

static int32_t eval_system_set ( command_t command,
int32_t  cond,
link_t return_values 
) [static]

Definition at line 355 of file decoder.c.

Referenced by eval_command().

static void eval_set_op ( command_t command,
int32_t  op,
int32_t  reg,
int32_t  reg2,
int32_t  data 
) [static]

Definition at line 408 of file decoder.c.

Referenced by eval_set_version_1(), and eval_set_version_2().

static void eval_set_version_1 ( command_t command,
int32_t  cond 
) [static]

Definition at line 464 of file decoder.c.

Referenced by eval_command().

static void eval_set_version_2 ( command_t command,
int32_t  cond 
) [static]

Definition at line 477 of file decoder.c.

Referenced by eval_command().

static int32_t eval_command ( uint8_t *  bytes,
registers_t registers,
link_t return_values 
) [static]

Definition at line 492 of file decoder.c.

Referenced by vmEval_CMD().

int32_t vmEval_CMD ( vm_cmd_t  commands[],
int32_t  num_commands,
registers_t registers,
link_t return_values 
)

Definition at line 581 of file decoder.c.

Referenced by play_Cell_post(), play_PGC(), play_PGC_PG(), play_PGC_post(), and vm_exec_cmd().

static char* linkcmd2str ( link_cmd_t  cmd  )  [static]

Definition at line 634 of file decoder.c.

Referenced by vm_print_link().

void vm_print_link ( link_t  value  ) 

Definition at line 700 of file decoder.c.

Referenced by process_command().

void vm_print_registers ( registers_t registers  ) 

Definition at line 756 of file decoder.c.

Referenced by vmEval_CMD().


Generated on Sat Dec 18 05:15:51 2010 for MythTV by  doxygen 1.5.5