Naja, Du hast es fast verstanden...

Der Befehl bit() alleine setzt gar nichts - er ermittelt aus der Position eines Bits seine Wertigkeit. bit(0) liefert 1 zurück, bit(1) liefert 2, bit(2) liefert 4 usw...
Das setzem erfolgt letztendlich nur durch die Zuweisung PRR =

PRR = bit(3);
macht also dasselbe wie
PRR = 8;

Aber ansonsten war's richtig.