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 69 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 93 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 133 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 168 of file decoder.c.

Referenced by eval_command().

static int32_t eval_if_version_2 ( command_t command  )  [static]

Definition at line 179 of file decoder.c.

Referenced by eval_command().

static int32_t eval_if_version_3 ( command_t command  )  [static]

Definition at line 190 of file decoder.c.

Referenced by eval_command().

static int32_t eval_if_version_4 ( command_t command  )  [static]

Definition at line 202 of file decoder.c.

Referenced by eval_command().

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

Definition at line 213 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 243 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 260 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 293 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 362 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 415 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 471 of file decoder.c.

Referenced by eval_command().

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

Definition at line 484 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 499 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 588 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 641 of file decoder.c.

Referenced by vm_print_link().

void vm_print_link ( link_t  value  ) 

Definition at line 707 of file decoder.c.

Referenced by process_command().

void vm_print_registers ( registers_t registers  ) 

Definition at line 763 of file decoder.c.

Referenced by vmEval_CMD().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Sat May 26 06:41:48 2012 for MythTV by  doxygen 1.6.3