Forum: Mikrocontroller und Digitale Elektronik Divisionen in Assembler ATMEGA


von New User (Gast)


Lesenswert?

Hallo Zusammen !

Weiss jemand eine Quelle, wo Grundlagen der Divisionen in Assembler
leichtverständlich beschrieben sind ???

Besonderes Interesse gilt dem Hardware-Multiplier der MEGA-Typen.

Danke,

Thomas

von Jan (Gast)


Lesenswert?

Hallo,
bei der Division hilft der Hardware-Multiplizierer nichts.
Es gibt aber fertige Divisionsroutinen in ASM und C auf
der ATMEL Seite bei den AVR-Application-Notes.

Gruß Jan

von Uwe (Gast)


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

von Jan (Gast)


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

von Uwe (Gast)


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

von Simon K. (simon) Benutzerseite


Lesenswert?

Ja los, her damit! :-)

von Jan (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.