mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-28 14:30:48 +00:00
* rs6000-pinsn.c (print_operand): Deal with no operand instructions.
* rs6000-pinsn.c (print_operand, case LI): Print condition register operand in decimal rather than wrong textual versions.
This commit is contained in:
parent
a7a9a714e0
commit
944c1c2f31
@ -1,5 +1,10 @@
|
||||
Fri Apr 9 10:20:55 1993 Jim Kingdon (kingdon@cygnus.com)
|
||||
|
||||
* rs6000-pinsn.c (print_operand): Deal with no operand instructions.
|
||||
|
||||
* rs6000-pinsn.c (print_operand, case LI): Print condition register
|
||||
operand in decimal rather than wrong textual versions.
|
||||
|
||||
* printcmd.c (_initialize_printcmd): Clean up docstring for "x"
|
||||
(mention 't', remove false thing about 'g' only good with 'f').
|
||||
|
||||
|
@ -189,7 +189,7 @@ int insn_no;
|
||||
/* parse the operand now. */
|
||||
pp = rs6k_ops[insn_no].oprnd_format;
|
||||
|
||||
while (1) {
|
||||
while (*pp != 0) {
|
||||
switch (*pp) {
|
||||
case TO :
|
||||
fprintf (stream, "%d", (insn_word >> 21) & 0x1f);
|
||||
@ -202,11 +202,27 @@ int insn_no;
|
||||
|
||||
case LI :
|
||||
tmp = (insn_word >> 16) & 0x1f;
|
||||
#if 0
|
||||
/* This is wrong, wrong, wrong. The condition code only goes
|
||||
from 0 to 3 (for the instructions which can use extended
|
||||
mnemonics of this type), and the XX (lt, gt, eq etc.) goes
|
||||
into the mnemonic, not as an operand.
|
||||
|
||||
Probably the best way to get this right in both assembler
|
||||
and disassembler is to switch to a match/lose style opcode
|
||||
table like the sparc. */
|
||||
if (tmp > 11) {
|
||||
fprintf (stream, "{unknown cond code: 0x%x}", insn_word);
|
||||
tmp = 0;
|
||||
}
|
||||
fprintf (stream, "%s", cond_code [tmp]);
|
||||
#else
|
||||
/* So for just always use the "bbf/bbt" form. This is perfectly
|
||||
correct, just not necessarily as legible.
|
||||
|
||||
If tmp is not in the range 0-3, we can't use an XX form anyway. */
|
||||
fprintf (stream, "%d", tmp);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case A2 :
|
||||
@ -372,9 +388,7 @@ int insn_no;
|
||||
}
|
||||
++pp;
|
||||
|
||||
if (*pp == '\0')
|
||||
break;
|
||||
else if (!nocomma)
|
||||
if (*pp != '\0' && !nocomma)
|
||||
fputc(',', stream);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user