| byte Find() {
 byte Found;
 Found = FALSE;      // init to not found
 
 for (Ind=0; Ind < (EL_SIZE * MAX_USER); Ind+=EL_SIZE)
 {
 FCode = r[Ind][0];
 FCode = (Dato>>8);
 // check if 1111xxxx
 if ( (FCode & 0xf0) == 0xf0)        //高8位
 continue;   // empty
 if (IDHi != (Dato & 0xff))                //低8位Buffer[4] //S/N LSB
 continue;   // fails match
 
 Dato = Read93LC46(Ind+1);
 if ( ( (Dato & 0xff) == IDLo) && (((Dato>>8)& 0xff) == IDMi))        //IDMi Buffer[5] //S/N IDHi    Buffer[6] //S/N MSB
 {
 Found = TRUE;     // match
 break;
 }
 } // for
 
 if (Found == TRUE)
 {
 EEADR++;
 Dato = Read93LC46(EEADR);
 EHop = Dato;
 EEADR++;
 Dato = Read93LC46(EEADR);
 ETemp= Dato;
 }
 return Found;
 }
 
 将以下这段去掉就会出现Looping around MACH_ALLOC
 if (Found == TRUE)
 {
 EEADR++;
 Dato = Read93LC46(EEADR);
 EHop = Dato;
 EEADR++;
 Dato = Read93LC46(EEADR);
 ETemp= Dato;
 }
 |