Hallo, Ich bin neu in dem Gebiet DSP-Programmierung.Mein Problem ist es ein Programm zu schreiben, welches das Gaußsche Eliminationverfahren ausführen soll.Bei diesem Algorithmus komm ich leider nicht drum herum Zahlen miteinander zu Dividieren.Ich programmiere den ADSP 21060 in Assembler und laut dem Datenblatt gibt es nicht wirklich ein Operator zur Division.Zumindest weiß ich es nicht, wie man eine Division in Assembler für den ADSP realisieren kann. Könnte mir jemand einen Tipp geben,wo ich nachlesen oder Hilfen finden könnte?Oder jemand weiß,wie man das machen könnte. MfG Lutz
Eine Ganzzahl-Division mit Rest könnte man auch durch eine fortgesetzte Subtraktion erreichen. Eine Division durch eine Zweierpotenz kann man durch einen Rechts-Shift um die entsprechende Anzahl Stellen realisieren.
Hi, Danke für deine Antwort!! Mein Problem ist eher der Operator der Programmiersprache.Ein Beispiel F8 = F3/F4; Dann kommt immer Syntax Error "/" !! Sprich den Operator "/" gibt es in dieser Sprache nicht. Selbst wenn ich F8 = F3 * 1.0/F4; schreibe macht er den Syntax Error bei "1.0"!! Bin gerade etwas überfragt.Kann mir jemand Helfen? MfG Lutz
Gibt's nicht. Siehe ADSP-2106x SHARC® Processor User’s Manual: http://www.analog.com/static/imported-files/processor_manuals/50836807228561ADSP2106xSHARCProcessorUsersManual_Revision2_1.pdf
Gibt es sehr wohl, nur nicht direkt. Schau mal auf Seite B-39 in dem PDF nach.
Ja, das hab ich heut nach dem Mittag dann auch gefunden. Ich hab einfach mal in C eine Division programmiert und mir den Assemblercode angeschaut. Fn = RECIPS Fx; ist da wirklich brauchbar!Jedoch muss man beachten,dass ein Fehler dabei entsteht und der ausgeglichen werden muss. Nur die REPCIPS Funktion verwenden klappt so nicht.Am besten man schaut sich die Compilierung an und benutzt die,wenn man es in Assembler Programmieren muss. Trotzdem Danke für eure Tipps! Lutz
LK schrieb: > Am besten man schaut sich die Compilierung an und benutzt die, wenn man es > in Assembler Programmieren muss. Hm, für Filter, FFT und so weiter braucht man auch keine Division. Für nicht-DSP-relevante Aufgaben vom Prof vielleicht schon ;-)
Die Subroutine zum Dividieren stand doch auf der gleichen Seite, da wäre abschreiben völlig ausreichend.
Ich meine die Divisionsroutine für float kann über math.h eingebunden werden.
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.