diff options
author | DJ Delorie <dj@redhat.com> | 2008-06-06 19:18:15 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2008-06-06 19:18:15 +0000 |
commit | 3877a1459be9bdeb20ae891b3f68220b837a81cb (patch) | |
tree | 02fc0eea00e77cc6ff7e691bafebe6cd2e09d77f /sim/m32c/r8c.opc | |
parent | ebfe2e3fb6a1078dcbbc4231ddd7ddec365bfe09 (diff) | |
download | gdb-3877a1459be9bdeb20ae891b3f68220b837a81cb.zip gdb-3877a1459be9bdeb20ae891b3f68220b837a81cb.tar.gz gdb-3877a1459be9bdeb20ae891b3f68220b837a81cb.tar.bz2 |
* Makefile.in: Add Timer A support.
* cpu.h (m32c_opcode_pc): New.
(in_gdb): New.
* gdb-if.c (sim_open): Add Timer A support. Support unbuffered
console.
* int.c (trigger_interrupt): Manage the U flag properly.
(trigger_based_interrupt): Likewise.
(trigger_fixed_interrupt): New.
(trigger_peripheral_interrupt): New.
* int.h (trigger_peripheral_interrupt): New.
* m32c.opc: Use m32c_opcode_pc throughout, as needed.
(decode_m32c): Detect jump-to-zero with traceback.
(BRK): Try to do the right thing, keeping track of whether we're
in gdb or not, and if the user has provided a handler or not.
(GBRK): Alternate break opcode for gdb, in case the user's app
needs to use BRK for itself.
(BRK2): Implement.
* main.c: Add Timer A support. Support TCP-based console.
(setup_tcp_console): New.
(main): Add Timer A support. Support TCP-based console.
* mem.c: Add Timer A support. Support TCP-based console.
(mem_ptr): Enhance NULL pointer detection.
(stdin_ready): New.
(m32c_sim_restore_console): New.
(mem_get_byte): Check for console input ready.
(update_timer_a): New.
* r8c.opc (SSTR): Use r0l, not r0h.
(REIT): Fix return frame logic.
* reg.c (print_flags): New.
(trace_register_changes): Use it.
(m32c_dump_all_registers): New.
* timer_a.h: New.
* load.c: Fix indentation.
* trace.c: Fix indentation.
* trace.h: Fix indentation.
Diffstat (limited to 'sim/m32c/r8c.opc')
-rw-r--r-- | sim/m32c/r8c.opc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sim/m32c/r8c.opc b/sim/m32c/r8c.opc index bc7f107..abfc7b9 100644 --- a/sim/m32c/r8c.opc +++ b/sim/m32c/r8c.opc @@ -1249,9 +1249,9 @@ decode_r8c() a = get_reg (sp); v = (mem_get_hi (a) - + 65536 * (mem_get_qi (a+3) & 0x0f)); + + 4096 * (mem_get_qi (a+3) & 0xf0)); b = (mem_get_qi (a+2) - + 16 * (mem_get_qi (a+3) & 0xf0)); + + 256 * (mem_get_qi (a+3) & 0xff)); put_reg (pc, v); put_reg (flags, b); put_reg (sp, get_reg (sp) + 4); @@ -1401,7 +1401,7 @@ decode_r8c() int count = get_reg (r3); int s1 = get_reg (a1); - v = get_reg (w ? r0 : r0h); + v = get_reg (w ? r0 : r0l); while (count) { |