Naja, das bringt mir nicht viel.
Denn diese ganze Routine liegt in einem Interrupt und schaut komplett so aus:
Code:
Daten(1).bitcount = Sda_line
Bitcount = Bitcount + 1
If Bitcount = 8 Then
  Ready = 1
  Cli                                                       'Globale Interrupts deaktivieren
End If
Return
Sprich, bei jeden Interrupt wir der Pin zustand in ein anders Bit im Byte geschrieben.
Ist quasi ein Byte was seriell eingelesen wird. Und der Interrupt wird immer ausgelöst wenn der Takt eine Positive Flank aufweist.