sorry my english is poor... i use c51 v7.00 compiler to develop program on DS5250. when i use xdata variables in ISR, i find them not work well. for example, a xdata varible and a idata variable, both are global and initiated to zero,both plus one when received one byte in serial port interrupt. after receiving several bytes,the idata variable gets the right value but the xdata variable not--it's always less than the right value. and the xdata variables work normally outside ISRs.. what are the possible reasons of this problem? can anyone give some advice? thans a lot.