bitwise operations on registers

Eli Zaretskii eliz@is.elta.co.il
Mon Mar 11 03:04:00 GMT 2002


On Sun, 10 Mar 2002, Andrew Morton wrote:

> (gdb) p $esp & 4
> Argument to arithmetic operation not a number or boolean.
> (gdb) 
> 
> I don't seem to be able to perform the `&' and `|' arithmetic
> operators against machine registers.

"p $eax & 4" works for me.  Doesn't it work for you?

As for $esp, I think GDB knows that it's not a number, so try

  (gdb) p (int)$esp & 4

(I don't know whether the built-in knowledge GDB has about $esp should 
prevent it from working without the cast, though.)



More information about the Gdb mailing list