Divisionen in Assembler ATMEGA

Gast #405908
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
Gast #405909
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
@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
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
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

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.