aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/sparc-dis.c67
1 files changed, 35 insertions, 32 deletions
diff --git a/opcodes/sparc-dis.c b/opcodes/sparc-dis.c
index 5a10310..a3d59b8 100644
--- a/opcodes/sparc-dis.c
+++ b/opcodes/sparc-dis.c
@@ -340,55 +340,56 @@ print_insn_sparc (memaddr, info)
case 'k':
- print_address ((bfd_vma)
- (memaddr
- + (((int) insn.disp14 << 18) >> 18) * 4),
- stream);
+ (*info->print_address_func)
+ ((bfd_vma) (memaddr
+ + (((int) insn.disp14 << 18) >> 18) * 4),
+ info);
break;
case 'G':
- print_address ((bfd_vma)
- (memaddr
- /* We use only 19 of the 21 bits. */
- + (((int) insn.disp21 << 13) >> 13) * 4),
- stream);
+ (*info->print_address_func)
+ ((bfd_vma) (memaddr
+ /* We use only 19 of the 21 bits. */
+ + (((int) insn.disp21 << 13) >> 13) * 4),
+ info);
break;
case '6':
case '7':
case '8':
case '9':
- fprintf (stream, "fcc%c", *s - '6' + '0');
+ (*info->fprintf_func) (stream, "fcc%c", *s - '6' + '0');
break;
case 'z':
- fputs ("icc", stream);
+ (*info->fprintf_func) (stream, "icc");
break;
case 'Z':
- fputs ("xcc", stream);
+ (*info->fprintf_func) (stream, "xcc");
break;
case 'E':
- fputs ("%ccr", stream);
+ (*info->fprintf_func) (stream, "%%ccr");
break;
case 's':
- fputs ("%fprs", stream);
+ (*info->fprintf_func) (stream, "%%fprs");
break;
#endif /* NO_V9 */
case 'M':
- fprintf(stream, "%%asr%d", insn.rs1);
+ (*info->fprintf_func) (stream, "%%asr%d", insn.rs1);
break;
case 'm':
- fprintf(stream, "%%asr%d", insn.rd);
+ (*info->fprintf_func) (stream, "%%asr%d", insn.rd);
break;
case 'L':
- print_address ((bfd_vma) memaddr + insn.disp30 * 4,
- stream);
+ (*info->print_address_func)
+ ((bfd_vma) memaddr + insn.disp30 * 4,
+ info);
break;
case 'l':
@@ -401,10 +402,10 @@ print_insn_sparc (memaddr, info)
else
/* We cannot trust the compiler to sign-extend
when extracting the bitfield, hence the shifts. */
- print_address ((bfd_vma)
- (memaddr
- + (((int) insn.disp22 << 10) >> 10) * 4),
- stream);
+ (*info->print_address_func)
+ ((bfd_vma) (memaddr
+ + (((int) insn.disp22 << 10) >> 10) * 4),
+ info);
break;
case 'A':
@@ -412,35 +413,35 @@ print_insn_sparc (memaddr, info)
break;
case 'C':
- (*info->fprintf_func) (stream, "%csr");
+ (*info->fprintf_func) (stream, "%%csr");
break;
case 'F':
- (*info->fprintf_func) (stream, "%fsr");
+ (*info->fprintf_func) (stream, "%%fsr");
break;
case 'p':
- (*info->fprintf_func) (stream, "%psr");
+ (*info->fprintf_func) (stream, "%%psr");
break;
case 'q':
- (*info->fprintf_func) (stream, "%fq");
+ (*info->fprintf_func) (stream, "%%fq");
break;
case 'Q':
- (*info->fprintf_func) (stream, "%cq");
+ (*info->fprintf_func) (stream, "%%cq");
break;
case 't':
- (*info->fprintf_func) (stream, "%tbr");
+ (*info->fprintf_func) (stream, "%%tbr");
break;
case 'w':
- (*info->fprintf_func) (stream, "%wim");
+ (*info->fprintf_func) (stream, "%%wim");
break;
case 'y':
- (*info->fprintf_func) (stream, "%y");
+ (*info->fprintf_func) (stream, "%%y");
break;
}
}
@@ -490,8 +491,10 @@ print_insn_sparc (memaddr, info)
(*info->fprintf_func) (stream, "\t! ");
/* We cannot trust the compiler to sign-extend
when extracting the bitfield, hence the shifts. */
- print_address (((int) prev_insn.imm22 << 10)
- | (insn.imm13 << 19) >> 19, stream);
+ (*info->print_address_func)
+ (((int) prev_insn.imm22 << 10)
+ | (insn.imm13 << 19) >> 19,
+ info);
}
}
}