ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Понедельник
25 января
/1068403
IBAH (11.01.2021 17:13 - 17:18, просмотров: 4179)
Не могу победить статический анализатор 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


Кто дурак? я или анализатор?

Ответить
Ответы