Well, they are handled a little different, but they are still no cause for concern.
The compiler simply makes sure that no single element of an array crosses a bank boundary. The array can span multiple banks, but LONGs or WORDs will always be on one side or the other, never split.
If you want to make sure that an array is completely inside a single bank ... specify the bank in the variable declaration.
MyArray VAR WORD[16] BANK3
This forces PBP to put the entire array in bank3 and will not allow it to cross a boundary.
However, I do not think that's your problem.
Can you at least post the interrupt routine.
That's the most likely place.
The second most likely is any ASM code (doesn't have to be the INT handler).
<br>
Bookmarks