chyba v XC...

Dobrý den,
Pouze upozornění. Dávejte si pozor na konstrukci:

#include “htc.h”
char arrayA[3];
char arrayB[3] @0x123;

int main(void) {
char x;
char a;
x = 0;

x--;
if (a != arrayA[x + 1]) {
    if (a != arrayB[x + 1]) // zde chyba v adresování 0x223 chybně místo 0x1123
        __builtin_software_breakpoint();
        x++;
}
return 0;

}

V prvním případě, kdy je arrayA uloženo v 0 stránce je adresování OK, v druhém případě, kdy je arrayB uloženo v druhé stránce, přistupuje k arrob FSR registr místo 0x123 chybně 0x223.
Tato chyba je už od verze XC8 od verze 1.1. Mělo by to dělat pouze v optimalizaci PRO. Michrochip jsem už kontaktoval, je to v řešení. Docela jsem si s tou chybou v překladači užil.

Míra.