Не могу победить статический анализатор IAR код
#define MaxRegTX (32)
#define MaxReg (16)
void PUT(unsigned char a);
unsigned short Reg[MaxReg];
...
...
...
{
unsigned short Kolvo=SetKolvo();
unsigned short Adres=SetAdres();
if(Kolvo>MaxRegTX || Kolvo==0) return;
if((Adres+Kolvo)>MaxReg) return;
...
...
...
for(int i=0;i<Kolvo;i++);
{
PUT(Reg[Adres+i]>>0);
PUT(Reg[Adres+i]>>8);
}
}
на строки "PUT(Reg[Adres+i]>>0); PUT(Reg[Adres+i]>>8);" дает замечание
Array `Reg' 1st subscript interval [0,46] may be out of bounds [0,15] ARR-inv-index-pos
Кто дурак? я или анализатор?