regcache_cooked_read (current_regcache, (insn >> 21) & 0x1f, reg);
where reg is a ``char reg[8]''.
Now, I'd like to perform the following tests:
zero (reg & 0x7fff_ffff_ffff_ffff) == 0
sign (reg & 0x8000_0000_0000_0000) != 0
Right now, I'm juggling with each byte of the buffer, and doing checks
like this:
fp_register_zero_p (char *buf)
{
return ((buf[1] & 0x0f) == 0 && buf[2] == 0 && buf[3] == 0
&& buf[4] == 0 && buf[5] == 0 && buf[6] == 0 && buf[7] == 0);
I thought about something like:
LONGEST rav = extract_signed_integer (buf, 8)
and then do the test using integer arithmetics. But then I'm not guarantied
that LONGEST is at least 64bit long, am I.
How are these sort of checks usually done in GDB?
Thanks,