100% что объявлено как unsigned char. Пробовал еще как char. И пробовал


while((uchar)PIND == (uchar)old);