Gast
#152572
Hallo Leute,
ich habe in Inline-Assembler eine Delay-Schleife programmiert, aber er
setzt "pd[i].length" immer auf Null. Folglich wird nur beim ersten
Mal die richtige Verzögerung erreicht.
Was ist falsch??
asm volatile (
"cp %A0, _zero_reg_ \n\t" \
"cpc %B0, _zero_reg_ \n\t" \
"breq L_Exit_%= \n\t" \
"L_LOOP_%=: \n\t" \
"sbiw %0, 1 \n\t" \
"brne L_LOOP_%= \n\t" \
"L_Exit_%=: \n\t" \
: "=w" (pd[i].length)
: "0" (pd[i].length)
);
MfG
- C. Lechner