asm volatile

Gast #2038039
Lesenswert?

> Damit soll verhindert werden, dass der Compiler die leere
> While-Schleife wegoptimiert.

Und:

> Ohne NOP wartet er evtl. garnicht, weil aus Sicht des Compilers
> überflüssig.

Ist natürlich, wie so vieles hier, falsch.

Da PIND selbst volatile deklariert ist, wird ein Compiler dieses 
While-Statement auch niemals weg optimieren.
#2038044
Lesenswert?

A. K. schrieb:
> Ohne NOP wartet er evtl. garnicht, weil aus Sicht des Compilers
> überflüssig.

Das ist falsch!
Ob er wartet, hängt nur davon ab, ob der Pin als volatile definiert ist.

Das NOP ist in der Tat völlig überflüssig.
Seine einzige Funktion besteht darin, daß man in die Loop einen 
Breakpoint setzen kann (im Debugger oder Simulator).


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren