Faltou um exemplo:
while(1)
{
PORTB ^= (1 << PINB7);
PORTB ^= (1 << PINB7);
PORTB ^= (1 << PINB7);
PORTB ^= (1 << PINB7);
PORTB ^= (1 << PINB7);
PORTB ^= (1 << PINB7);
PORTB ^= (1 << PINB7);
PORTB ^= (1 << PINB7);
PORTB ^= (1 << PINB7);
PORTB ^= (1 << PINB7);
}
Compilando:
in r24, 0x05 ; 1 Clock
subi r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
in r24, 0x05 ; 1 Clock
subi r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
in r24, 0x05 ; 1 Clock
subi r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
in r24, 0x05 ; 1 Clock
subi r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
in r24, 0x05 ; 1 Clock
subi r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
in r24, 0x05 ; 1 Clock
subi r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
in r24, 0x05 ; 1 Clock
subi r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
in r24, 0x05 ; 1 Clock
subi r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
in r24, 0x05 ; 1 Clock
subi r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
in r24, 0x05 ; 1 Clock
subi r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
rjmp .-62 ; 2 Clocks
Resultado: 5 MHz
Manipulando:
in r24, 0x05 ; 1 Clock
cbr r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
sbr r24, r25 ; 1 Clock
out 0x05, r24 ; 1 Clock
cbr r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
sbr r24, r25 ; 1 Clock
out 0x05, r24 ; 1 Clock
cbr r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
sbr r24, r25 ; 1 Clock
out 0x05, r24 ; 1 Clock
cbr r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
sbr r24, r25 ; 1 Clock
out 0x05, r24 ; 1 Clock
cbr r24, 0x80 ; 1 Clock
out 0x05, r24 ; 1 Clock
sbr r24, r25 ; 1 Clock
out 0x05, r24 ; 1 Clock
rjmp .-42 ; 2 Clocks
Ou:
cbi 0x05, 7 ; 2 Clocks
sbi 0x05, 7 ; 2 Clocks
cbi 0x05, 7 ; 2 Clocks
sbi 0x05, 7 ; 2 Clocks
cbi 0x05, 7 ; 2 Clocks
sbi 0x05, 7 ; 2 Clocks
cbi 0x05, 7 ; 2 Clocks
sbi 0x05, 7 ; 2 Clocks
cbi 0x05, 7 ; 2 Clocks
sbi 0x05, 7 ; 2 Clocks
rjmp .-22 ; 2 Clocks
Resultado: 7 MHz