static inline int zrdat32(char *buf, int length, size_t *bytes_received)
{
        register int c;
        register unsigned long crc;
        register char *end;
        register int d;

        crc = 0xFFFFFFFFL;  end = buf + length;
        while (buf <= end) {
                if ((c = zdlread()) & ~0377) {
위 소스는 ezboot의 zmodem.c에서 커널의 사이즈를 반환하는 함수를 찾아들어간 함수입니다.
제가 분석해본 결과 여기까지의 소스는 커널의 이미지 크기를 반환시키는데 zdlread()함수는 알겠는데,
그 옆에 ~0377을 &연산해주는 이유가 궁금합니다. 알려주세요ㅎㅎ