Pour compléter la réponse de nams2590, voici en gros l'algo pour lire une valeur:
- i=12, DATA_LSB=0, DATA_MSB=0
boucle:
- clk=1
- lecture du bit avec stockage dans la retenu (C, carry) (si bit=1->C=1; si bit=0->C=0)
- clk=0
- décalage à gauche avec la retenu du registre DATA_LSB
- décalage à gauche avec la retenu du registre DATA_MSB
- i=i-1
- si i != 0, alors goto boucle:
le résultat est donc dans DATA_LSB et DATA_MSB

