+ if (regno >= 0)
+ {
+ const char *name = gdbarch_register_name (gdbarch, regno);
+
+ if (!name || !*name)
+ return;
+
+ fprintf_filtered (file, "%-10s ", name);
+ m68hc11_print_register (gdbarch, file, frame, regno);
+ fprintf_filtered (file, "\n");
+ }
+ else
+ {
+ int i, nr;
+
+ fprintf_filtered (file, "PC=");
+ m68hc11_print_register (gdbarch, file, frame, HARD_PC_REGNUM);
+
+ fprintf_filtered (file, " SP=");
+ m68hc11_print_register (gdbarch, file, frame, HARD_SP_REGNUM);
+
+ fprintf_filtered (file, " FP=");
+ m68hc11_print_register (gdbarch, file, frame, SOFT_FP_REGNUM);
+
+ fprintf_filtered (file, "\nCCR=");
+ m68hc11_print_register (gdbarch, file, frame, HARD_CCR_REGNUM);
+
+ fprintf_filtered (file, "\nD=");
+ m68hc11_print_register (gdbarch, file, frame, HARD_D_REGNUM);
+
+ fprintf_filtered (file, " X=");
+ m68hc11_print_register (gdbarch, file, frame, HARD_X_REGNUM);
+
+ fprintf_filtered (file, " Y=");
+ m68hc11_print_register (gdbarch, file, frame, HARD_Y_REGNUM);
+
+ if (gdbarch_tdep (gdbarch)->use_page_register)
+ {
+ fprintf_filtered (file, "\nPage=");
+ m68hc11_print_register (gdbarch, file, frame, HARD_PAGE_REGNUM);
+ }
+ fprintf_filtered (file, "\n");
+
+ nr = 0;
+ for (i = SOFT_D1_REGNUM; i < M68HC11_ALL_REGS; i++)
+ {
+ /* Skip registers which are not defined in the symbol table. */
+ if (soft_regs[i].name == 0)
+ continue;
+
+ fprintf_filtered (file, "D%d=", i - SOFT_D1_REGNUM + 1);
+ m68hc11_print_register (gdbarch, file, frame, i);
+ nr++;
+ if ((nr % 8) == 7)
+ fprintf_filtered (file, "\n");
+ else
+ fprintf_filtered (file, " ");
+ }
+ if (nr && (nr % 8) != 7)
+ fprintf_filtered (file, "\n");
+ }