Ich habe mir schon gedacht, daß da so eine Frage kommt,
da ich jetzt noch eine rauche, bevor ich haja geh kurz eine Antwort.

also dieses Konstrukt 1<<sperre (schaue mal bei .equ sperre = 7) bedeutet nichts
anderes als 1<<7
das heißt schreibe in Register status eine 1 womit der Zustand von status
so aussieht : 00000001
und dieses <<7 heißt und verschiebe es um 7 (.equ sperre = 7) Stellen nach links.
Jetzt ist aus 00000001 10000000 geworden klar ?
sbr sperre,(1<<status) -> sbr sperre,b10000000 oder 128 oder 0x80 je nach Zahlensystem

dieses 1 bedeutet nicht einschalten sondern ein bit
Du hast sicher ein cbr status,(0<<sperre) erwartet, oder ?
Das wäre falsch, weil cbr möchte wissen welchen bit es löschen soll deswegen auch
(1<<sperre) klar ?

Solche Konstrukte wirst Du noch sehr oft sehen, aber man gewöhnt sich daran,
es ist wieder da um Dir das Leben einfacher zu machen, schau, es kann mir im endeffekt wurst sein, ob sperre = 7 oder 5 oder 3 is,t das wird einfach einmal am Anfang festgelegt
und beim Progen brauch ich mir kein Kopf darum machen welche wertigkeit es hat, klar?

Was ich persönlich blöd finde, daß ich bein sbr und cbr den wert k255 setzen muß also
(1<<sperre) aber bei cbi und sbi ein sbi PORTD,sperre also b7 reicht , genauso beim Vergleichen ein b7 also ohne (1<<blabla),
mit der Zeit gewöhnt man sich dran und nimmt es einfach so hin, aber da hatte ich anfangs auch Fehler gemacht.

Am besten druckst Du Dir die Befehlstabelle von www.avr-asm-tutorial.net aus,
dann hast Du alle Befehle immer zur Hand, kannst Sie überall mitnehmen,
ich hab die besten Einfälle aufm Klo

Ich hoffe, Du bist wieder ein Stück weitergekommen.

Gruß Sebastian