25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* |
* |
28 |
* $Id: cpu_sh.c,v 1.8 2005/11/13 00:14:07 debug Exp $ |
* $Id: cpu_sh.c,v 1.9 2006/02/17 18:38:30 debug Exp $ |
29 |
* |
* |
30 |
* Hitachi SuperH ("SH") CPU emulation. |
* Hitachi SuperH ("SH") CPU emulation. |
31 |
* |
* |
126 |
void sh_cpu_register_dump(struct cpu *cpu, int gprs, int coprocs) |
void sh_cpu_register_dump(struct cpu *cpu, int gprs, int coprocs) |
127 |
{ |
{ |
128 |
char *symbol; |
char *symbol; |
129 |
uint64_t offset, tmp; |
uint64_t offset; |
130 |
int i, x = cpu->cpu_id, nregs = cpu->cd.sh.compact? 16 : 64; |
int i, x = cpu->cpu_id, nregs = cpu->cd.sh.compact? 16 : 64; |
131 |
int bits32 = cpu->cd.sh.bits == 32; |
int bits32 = cpu->cd.sh.bits == 32; |
132 |
|
|
221 |
int sh_cpu_disassemble_instr_compact(struct cpu *cpu, unsigned char *instr, |
int sh_cpu_disassemble_instr_compact(struct cpu *cpu, unsigned char *instr, |
222 |
int running, uint64_t dumpaddr, int bintrans) |
int running, uint64_t dumpaddr, int bintrans) |
223 |
{ |
{ |
224 |
uint64_t offset, addr; |
uint64_t addr; |
225 |
uint16_t iword; |
uint16_t iword; |
226 |
int hi4, lo4, lo8, r8, r4; |
int hi4, lo4, lo8, r8, r4; |
|
char *symbol, *mnem = "ERROR"; |
|
227 |
|
|
228 |
if (cpu->byte_order == EMUL_BIG_ENDIAN) |
if (cpu->byte_order == EMUL_BIG_ENDIAN) |
229 |
iword = (instr[0] << 8) + instr[1]; |
iword = (instr[0] << 8) + instr[1]; |
544 |
int sh_cpu_disassemble_instr(struct cpu *cpu, unsigned char *instr, |
int sh_cpu_disassemble_instr(struct cpu *cpu, unsigned char *instr, |
545 |
int running, uint64_t dumpaddr, int bintrans) |
int running, uint64_t dumpaddr, int bintrans) |
546 |
{ |
{ |
547 |
uint64_t offset, addr; |
uint64_t offset; |
548 |
uint32_t iword; |
uint32_t iword; |
549 |
int hi6; |
char *symbol; |
|
char *symbol, *mnem = "ERROR"; |
|
550 |
|
|
551 |
if (running) |
if (running) |
552 |
dumpaddr = cpu->pc; |
dumpaddr = cpu->pc; |