Hello,
The 16F877A has 368 bytes of RAM so trying to fit 8 arrays each 250 bytes long is simply impossible.
On top of that, on 16F devices, the RAM is divided into banks (which PBP mostly handle transparantly for you) and each array has to fit in one RAM bank. Each bank is 128 bytes but the lower 32bytes of each bank is occupied by the special function registers (TMR0, INTCON, TXREG etc) so only the upper 96 bytes of each bank is available for "user RAM". So the longest array you can declare on a 16F device is 96 bytes.
Not all banks will have the top 96 bytes available either, see the memory organization chapter in the datasheet for the particualr PIC details and the section about arrays in the PBP manual for more details.
/Henrik.
EDIT: Ah, was a little slow typing there. Anyway, hopefully the information will help.




Bookmarks