On Tue, 2010-02-23 at 23:08 +0000, Grant Edwards wrote:
> The values being passed to printf and then displayed are
> "unsigned".  On the '430, that's 16 bits.  On the PC that's 32
> bits.

A short on both my system and 430 is 16 bits. A long on both my system
and the 430 are both 32 bits. I can inspect the memory with gdb. The
problem is the upper 16 bits of y on the 430 are set. Why does it do
this?

On PC:

(gdb) p sizeof(y)
$1 = 4
(gdb) p /x y
$2 = 0x8000

On 430:

(gdb) p sizeof(y)
$1 = 4
(gdb) p /x y
$2 = 0xffff8000


Carl



Reply via email to