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
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
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
@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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.