I was looking at the addresses of individual registers in the PIC32MX250F128B. For instance in the data sheet and the header file for my chip the adresses of TRISA and TRISB are 0xBF886010 and 0xBF886110. However when I ask the chip to calculate the offset between these two addresses it returns 0x40 when I would think it would be 0x100. The chip even prints the addresses from the data sheet as the addresses of the registers. 0x40 seems to be correct or a least to the chip because it works in code.
If someone could help me understand this, it would be much appreciated. Thanks.