Don't prefer symbols for low-value indexed operands.
This commit is contained in:
parent
37af91e60c
commit
6f3d899b44
8
dis.c
8
dis.c
|
@ -542,6 +542,7 @@ static int format_operand(char *buf, int max_len,
|
||||||
char rbuf[32];
|
char rbuf[32];
|
||||||
char name[64];
|
char name[64];
|
||||||
u_int16_t offset;
|
u_int16_t offset;
|
||||||
|
int numeric = 0;
|
||||||
|
|
||||||
assert (reg >= 0 && reg < ARRAY_LEN(msp430_reg_names));
|
assert (reg >= 0 && reg < ARRAY_LEN(msp430_reg_names));
|
||||||
|
|
||||||
|
@ -552,6 +553,7 @@ static int format_operand(char *buf, int max_len,
|
||||||
case MSP430_AMODE_INDEXED:
|
case MSP430_AMODE_INDEXED:
|
||||||
snprintf(rbuf, sizeof(rbuf), "(%s)", msp430_reg_names[reg]);
|
snprintf(rbuf, sizeof(rbuf), "(%s)", msp430_reg_names[reg]);
|
||||||
suffix = rbuf;
|
suffix = rbuf;
|
||||||
|
numeric = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSP430_AMODE_SYMBOLIC:
|
case MSP430_AMODE_SYMBOLIC:
|
||||||
|
@ -569,13 +571,14 @@ static int format_operand(char *buf, int max_len,
|
||||||
|
|
||||||
case MSP430_AMODE_IMMEDIATE:
|
case MSP430_AMODE_IMMEDIATE:
|
||||||
prefix = "#";
|
prefix = "#";
|
||||||
|
numeric = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return snprintf(buf, max_len, "???");
|
return snprintf(buf, max_len, "???");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((amode != MSP430_AMODE_IMMEDIATE ||
|
if ((!numeric ||
|
||||||
(addr >= 0x200 && addr < 0xfff0)) &&
|
(addr >= 0x200 && addr < 0xfff0)) &&
|
||||||
!stab_nearest(addr, name, sizeof(name), &offset) &&
|
!stab_nearest(addr, name, sizeof(name), &offset) &&
|
||||||
!offset)
|
!offset)
|
||||||
|
@ -583,8 +586,7 @@ static int format_operand(char *buf, int max_len,
|
||||||
prefix, name, suffix);
|
prefix, name, suffix);
|
||||||
|
|
||||||
return snprintf(buf, max_len,
|
return snprintf(buf, max_len,
|
||||||
amode == MSP430_AMODE_IMMEDIATE ?
|
numeric ? "%s0x%x%s" : "%s0x%04x%s",
|
||||||
"%s0x%x%s" : "%s0x%04x%s",
|
|
||||||
prefix, addr, suffix);
|
prefix, addr, suffix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue