Обращаюсь к общественности ещё раз. Что-то я недопонял.
Имеется вот такая строка. // 607 if((x>XzMin)&&(x<MaxX)&&(y>MinY)&&(y<YzMax)) // 608 OutZnak(x,y,tekcolor,c); Компилируется в это: CP R2, R8 CPC R3, R9 BRGE ??ShowActive_33 CP R8, R0 CPC R9, R1 BRCC ??ShowActive_33 CP R20, R10 CPC R21, R11 BRCC ??ShowActive_33 CP R10, R18 CPC R11, R19 BRGE ??ShowActive_33 LDI R21, 35 RCALL ?Subroutine99
Переменные объявлены так: // 53 __no_init int16_t static XzMin, YzMax; // Для упрощения сравнения // 448 int16_t x,y;
XzMin =-11 (fff5) MaxX = 71 (0047)
Если x <0 ну например -5(fff9), то OutZnak не выполняется(-5>71). Что я делаю не так? Как будто не учитывается знак. Может как-то объявить это надо?
|