Line 155... |
Line 155... |
unsigned long insn;
|
unsigned long insn;
|
unsigned long insn_mask;
|
unsigned long insn_mask;
|
int in_pass;
|
int in_pass;
|
};
|
};
|
|
|
|
|
extern unsigned long *or1ksim_automata;
|
extern unsigned long *or1ksim_automata;
|
extern struct temp_insn_struct *or1ksim_ti;
|
extern struct temp_insn_struct *or1ksim_ti;
|
|
|
extern CONST struct or32_opcode or1ksim_or32_opcodes[];
|
extern CONST struct or32_opcode or1ksim_or32_opcodes[];
|
|
|
extern char *or1ksim_disassembled;
|
extern char *or1ksim_disassembled;
|
|
|
|
/* trace data */
|
|
extern int trace_dest_reg;
|
|
extern int trace_store_addr_reg;
|
|
extern unsigned int trace_store_imm;
|
|
extern int trace_store_val_reg;
|
|
extern int trace_store_width;
|
|
|
/* Calculates instruction length in bytes. Always 4 for OR32. */
|
/* Calculates instruction length in bytes. Always 4 for OR32. */
|
extern int or1ksim_insn_len PARAMS((int insn_index));
|
extern int or1ksim_insn_len PARAMS((int insn_index));
|
|
|
/* MM: Returns instruction name from index. */
|
/* MM: Returns instruction name from index. */
|
extern CONST char *or1ksim_insn_name PARAMS ((int index));
|
extern CONST char *or1ksim_insn_name PARAMS ((int index));
|
Line 185... |
Line 193... |
|
|
/* Disassemble one instruction from insn index.
|
/* Disassemble one instruction from insn index.
|
Return the size of the instruction. */
|
Return the size of the instruction. */
|
int or1ksim_disassemble_index (unsigned long insn, int index);
|
int or1ksim_disassemble_index (unsigned long insn, int index);
|
|
|
|
/* Disassemble one instruction from insn index for tracing. */
|
|
void or1ksim_disassemble_trace_index (unsigned long int insn,
|
|
int index);
|
|
|
/* FOR INTERNAL USE ONLY */
|
/* FOR INTERNAL USE ONLY */
|
/* Automatically does zero- or sign- extension and also finds correct
|
/* Automatically does zero- or sign- extension and also finds correct
|
sign bit position if sign extension is correct extension. Which extension
|
sign bit position if sign extension is correct extension. Which extension
|
is proper is figured out from letter description. */
|
is proper is figured out from letter description. */
|
unsigned long or1ksim_extend_imm(unsigned long imm, char l);
|
unsigned long or1ksim_extend_imm(unsigned long imm, char l);
|