+/* Disassemble, prefixing register names with `$'. */
+
+static int
+print_insn_cris_with_register_prefix (vma, info)
+ bfd_vma vma;
+ disassemble_info *info;
+{
+ return print_insn_cris_generic (vma, info, true);
+}
+
+/* Disassemble, no prefixes on register names. */
+
+static int
+print_insn_cris_without_register_prefix (vma, info)
+ bfd_vma vma;
+ disassemble_info *info;
+{
+ return print_insn_cris_generic (vma, info, false);
+}
+
+/* Return a disassembler-function that prints registers with a `$' prefix,
+ or one that prints registers without a prefix. */
+
+disassembler_ftype
+cris_get_disassembler (abfd)
+ bfd *abfd;
+{
+ /* If there's no bfd in sight, we return what is valid as input in all
+ contexts if fed back to the assembler: disassembly *with* register
+ prefix. */
+ if (abfd == NULL || bfd_get_symbol_leading_char (abfd) == 0)
+ return print_insn_cris_with_register_prefix;
+
+ return print_insn_cris_without_register_prefix;
+}
+