XC8
Miroslav Draxal
evik na volny.cz
Úterý Srpen 23 20:54:52 CEST 2016
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.
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20160823/8ce3b0e0/attachment.html>
Další informace o konferenci Hw-list