Der Tiny12 ist einer der Leistungsschwächsten AVRs. Als Anfang für die Programmierung sollte man eher so etwas wie einen Mega48 oder Mega8 nehmen. Da kann man ohne Probleme in Basic oder C programmieren und hat auch Funktionen wie AD Wandler und UART mit drin. Der ASM Code ist aber den den Controllern fast gleich, bis auf ein paar Befehle, die nur die größeren haben. Der tiny12 braucht ja nicht mal einen Zugriff aufs RAM.

Der SBI befehl setzt schon das entsprechende Bit. Es wird aber das Bit nicht wieder zurückgenommen, wenn SBI nicht ausgeführt wird. Der Befehl SBI PortB,1 entspricht einem:
in temp,PortB
ori temp, (1<<1) ; ( (1<<1) = 2^1 = 2)
out PortB,temp
nur als ein Befehl und ohne ein temp register zu brauchen.

Der SBIC Befehl ist ein ganz spezieller bedingter Sprung. Die Erklärungen in der Hilfe von AVRstudio sind für die Befehle meistens recht gut. Für den Anfang fand ich die Sprünge BREQ und BRNE einfacher.