µC schrieb:
> Assembler Optimierung vielleicht??
Nein. Die kurze Antwort ist:
Damit man das Makro auch an Stellen einsetzen kann, an denen es sonst zu
Problemen kommen kann, wenn man den Makroinhalt nicht in einen Block
einschliesst.
wie zb Variationen von
if( ... )
sleep_cpu();
else
....
Die einschliessende do-while Schleife verpackt den Makroinhalt so, dass
er mehr wie eine Funktion benutzt werden kann, die ihren Inhalt
gruppiert. Im gegenständlichen Fall mit lediglich einer einzigen
Anweisung wäre das an und für sich noch kein großes Problem, aber sobald
mehrere Anweisungen im Spiel sind, wird es zu einem Problem.