Ja dann sind wir mal nicht so
ich hab als Testprogramm das aus der Wiki-Seite verwendet, und gleich nach der Stop übergabe diese Warteschleife eingebaut:
Code:
Do
   Incr Testcnt
Loop Until Twcr.twsto = 0

Print "stop: " ; Testcnt
Bei 16Mhz komme ich auf den Wert 9.

So schaut das ganze in Assembler aus:
Code:
# Do
# Incr Testcnt
+00000106:   E6A4        LDI     R26,0x64         Speicherort von Testcnt
+00000107:   E0B0        LDI     R27,0x00
+00000108:   918C        LD      R24,X            Wert aus SRAM holen
+00000109:   5F8F        SUBI    R24,0xFF         +1
+0000010A:   938C        ST      X,R24            Wert wieder ins SRAM

+0000010B:   2700        CLR     R16              Clear Register
+0000010C:   27BB        CLR     R27              Clear Register
+0000010D:   E5A6        LDI     R26,0x56         TWCR über SRAM holen
+0000010E:   918C        LD      R24,X            Load indirect
+0000010F:   FB84        BST     R24,4            Bit store from register to T, TWSTO ist Bit4

# ... Twcr.twsto = 0 ?
+00000110:   F40E        BRTC    0x0112           Branch if T flag cleared

+00000111:   E001        LDI     R16,0x01         Load immediate
+00000112:   E040        LDI     R20,0x00         Load immediate
+00000113:   1704        CP      R16,R20          Compare
+00000114:   F011        BREQ    0x0117           Branch if equal, fertig

# loop
+00000115:   940C0106    JMP     0x00000106

+00000117:   ....
kann ja mal jemand nachrechnen wieviel Takte das sind