Обращаюсь к общественности ещё раз. Что-то я недопонял.
Имеется вот такая строка.
// 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). Что я делаю не так?
Как будто не учитывается знак. Может как-то объявить это надо?