Ich bin einen Schritt weiter. Zwischen dem Code von W.S. und den 
aktuellen Compilern (verwende Crossworks) liegt schon etwas Zeit. Hier 
hat der aktuellere Compiler das Nop() wohl soweit gekillt oder 
reduziert, dass das der Fehler war. Hab das jetzt mal so geändert:
| 1 | void Nop (dword count)
 | 
| 2 | { 
 | 
| 3 |   count<<=2;
 | 
| 4 |   // Delay loop for Cortex M3 thumb2
 | 
| 5 |   asm volatile 
 | 
| 6 |     (
 | 
| 7 |     // Load loop count to register
 | 
| 8 |     " mov r3, %[loops]\n"
 | 
| 9 |     " .balign 8\n"
 | 
| 10 |     "loop: subs r3, #1\n"
 | 
| 11 |     " bne loop\n\n"
 | 
| 12 | 
 | 
| 13 |     : [loops] "r" (count) // Input registers
 | 
| 14 |     : "r3" // clobbered registers
 | 
| 15 |     );
 | 
| 16 | 
 | 
| 17 |   // while (count) --count; 
 | 
| 18 | }
 | 
Was ich noch vergessen habe: Danke W.S. für den Code, der doch 
wesentlich übersichtlicher ist als das was sonst so fuer den STM32F103 
im Umlauf ist.