first if you use long long format combined with ALUSAT bit set in mode1 register, the result will be disastrous...
try these code:
long long A = 0X80000000;
long long B = 0X7F000000;
long long C = 0;
C = A - B;
C will be 0x8000000.
you need to do something to fix this.
and one more thing. in the memory window, the long word can only show addresses up to 0x71000. but in the datasheet it should be up to 0x73fff. is there something i do wrong or is it designed like that?