Como entender este AND!!

Pessoal tudo bem !!
Quero fazer uns testes com o Ds1307 para isso estou a estudar a driver do mesmo que vem com o CCS mas tenho uma duvida, não estou a entender bem o seguinte AND pintado a vermelho!
sec = bcd2bin(i2c_read() & 0x7f);
min = bcd2bin(i2c_read() & 0x7f);
hr = bcd2bin(i2c_read(0) & 0x3f);
Jà dei uma olhada no datasheet e não consigo entender porque è ao ler o DS1307 faz aquele AND?
Caso algem poder ajudar agradeço
Quero fazer uns testes com o Ds1307 para isso estou a estudar a driver do mesmo que vem com o CCS mas tenho uma duvida, não estou a entender bem o seguinte AND pintado a vermelho!
sec = bcd2bin(i2c_read() & 0x7f);
min = bcd2bin(i2c_read() & 0x7f);
hr = bcd2bin(i2c_read(0) & 0x3f);
Jà dei uma olhada no datasheet e não consigo entender porque è ao ler o DS1307 faz aquele AND?
Caso algem poder ajudar agradeço