AVR-GCC: Division und Rest in einem Schritt

Gast #179227
Lesenswert?

Hallo,

in einem Programm brauche ich öfter die Division eines Integers und den
Rest dieser Division. Da der AVR ja keine Hardware-Division beherrscht,
löst GCC das durch eine kleine Subroutine (namens __udivmodqi4), die
sowohl den Quotienten als auch den Rest liefert. Leider produziert
etwas in der Art von

q = i / 10;
r = i % 10;

(alles uint8_t-Variablen) zwei Aufrufe dieser Subroutine obwohl nach
dem ersten schon beide Ergebnisse zur Verfügung stünden. Gibt's eine
Möglichkeit das zu ändern?

Christian

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