Hi,
I found that the index of a far array is only calculated with an 8-bit addition without considering the overflow.
You will find a code example and the resulting assembler file in the attachment.
I think this is an error, at least in the documentation this is not mentioned.
Best regards,
PS attaching a .asm or .casm don't work, so you will find it below:
#include "PIC16F1847.h"
unsigned char uc_arr[192] @0x2270;
void main(void)
{
unsigned char cnt;
for(cnt = 0; cnt < 192; cnt++) {
0004 0020 MOVLB 0x00
0005 01A0 CLRF main_1_cnt
0006 label1
0006 30C0