Divisionen in Assembler ATMEGA

Gast #405909
Lesenswert?

Hi!
@ Jan
<bei der Division hilft der Hardware-Multiplizierer nichts.
Das stimmt so nicht ganz. Ich habe mir eine 32Bit Div. geschrieben die
Mul sehr intensiv nutzt und damit recht schnell wird. Braucht
allerdings einiges an Registern.

@New User
Atmel hat App. Du kannst auch mal Div in C oder einer anderen
Hochsprach machen und dir das Ergebnis in ASM anschauen(Simulator)

MFG Uwe
Gast #405910
Lesenswert?

@Uwe
<Ich habe mir eine 32Bit Div. geschrieben die
Mul sehr intensiv nutzt und damit recht schnell wird.>

Klingt interessant.
Kannst du die Routine mal posten ?
Würde ich mir gern mal anschauen.
Oder kannst du erklären nach welchem Prinzip sie funktioniert ?
Ich kenne nur das übliche "Schieben und abziehen..."

Gruß Jan
Gast #405911
Lesenswert?

Hi!
Das Stichword lautet: "successive Aproximation" oder verständlicher
ich mache es wie die meisten ADC's indem ich mich dem Ergebnis
schritt/bittweise nähere. Wie oben schon erwähnt braucht es allerdings
recht viele Register. Dafür ist die Taktanzahl konstant und eine
Anpassung auf mehr/weniger Bitstellen ist problemlos möglich.
Ob jetzt die sub/schieben oder ADC-Variante schneller ist, hängt vom
Wertebereich ab.
Übrigens kann man auf selbige Art auch eine Wurzel ziehen.

MFG Uwe
Gast #405913
Lesenswert?

Hi Uwe,
Die gute alte Suk.Approx. für die Division !
Prima Idee, ein Ansatz auf den ich bisher nicht gekommen war.
Lohnt sich auf jeden Fall mal drüber nachzudenken.
Besonders für das Wurzelziehen.
Danke für die Anregung...

Gruß Jan

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