|
|
|
@ -50,14 +50,10 @@ int main(int argc, char** argv) |
|
|
|
continue; |
|
|
|
|
|
|
|
char* endp; |
|
|
|
int64_t bits = strtoull(&s[pos], &endp, 16); |
|
|
|
insn_bits_t bits = strtoull(&s[pos], &endp, 16); |
|
|
|
if (*endp != ')') |
|
|
|
continue; |
|
|
|
|
|
|
|
size_t nbits = 4 * (endp - &s[pos]); |
|
|
|
if (nbits < 64) |
|
|
|
bits = bits << (64 - nbits) >> (64 - nbits); |
|
|
|
|
|
|
|
string dis = disassembler->disassemble(bits); |
|
|
|
s = s.substr(0, start) + dis + s.substr(endp - &s[0] + 1); |
|
|
|
pos = start + dis.length(); |
|
|
|
|