aboutsummaryrefslogtreecommitdiff
path: root/gdb/sh-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/sh-tdep.c')
-rw-r--r--gdb/sh-tdep.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
index 81cd752..c965926 100644
--- a/gdb/sh-tdep.c
+++ b/gdb/sh-tdep.c
@@ -241,6 +241,39 @@ pop_frame ()
set_current_frame (create_new_frame (read_register (FP_REGNUM),
read_pc ()));
}
+
+/* Print the registers in a form similar to the E7000 */
+static void
+show_regs (args, from_tty)
+char *args;
+int from_tty;
+{
+ printf_filtered("PC=%08x SR=%08x PR=%08x MACH=%08x MACHL=%08x\n",
+ read_register(PC_REGNUM),
+ read_register(SR_REGNUM),
+ read_register(PR_REGNUM),
+ read_register(MACH_REGNUM),
+ read_register(MACL_REGNUM));
+
+ printf_filtered("R0-R7 %08x %08x %08x %08x %08x %08x %08x %08x\n",
+ read_register(0),
+ read_register(1),
+ read_register(2),
+ read_register(3),
+ read_register(4),
+ read_register(5),
+ read_register(6),
+ read_register(7));
+ printf_filtered("R8-R15 %08x %08x %08x %08x %08x %08x %08x %08x\n",
+ read_register(8),
+ read_register(9),
+ read_register(10),
+ read_register(11),
+ read_register(12),
+ read_register(13),
+ read_register(14),
+ read_register(15));
+}
void
@@ -253,4 +286,6 @@ _initialize_sh_tdep ()
(char *) &sim_memory_size,
"Set simulated memory size of simulator target.", &setlist),
&showlist);
+
+ add_com("regs", class_vars, show_regs, "Print all registers");
}