-
-
Erfahrener Benutzer
Robotik Einstein
ich hab dich vollständig verstanden und dennoch wird wenn vorher im flag register vorher eine 122 steht und ich
register |= (1<<0) ;
schreibe, danach im register 0 stehen!
denn GENAU WEIL das setzen des bit es nach der operation löst einfach alles zu 0 wird
ich schreibs mal bitweise auf
10010010 // register =
10010010 | // register |
00000001 | // (1<<0)
=
00000000 // denn das setzen einer 1 löscht das bit, das setzen einer 0 lässt es unverändert
im konkreten beispiel ist TOV0 UND ICF1 gesetzt
TIFR also xx1xxxx1
wenn cih jetzt
xx1xxxx1 |= 00000001
also
xx1xxxx1 |
xx1xxxx1 |
00000001
rechne kommt
TIFR = 00000000
raus, denn wenn x bereits 1 ist im flagregister, löscht es sich durch das ver-odern selbst aus, wenn x aber 0 ist blleibt es eben unbverändert 0
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen