Hallo,
ich soll für einen Praktikumsversuch mit einem DSP (Motorola 56001)
einen Logarithmier programmieren.
da ergibt sich das erste Problem: wie multipliziert man mit einer Zahl
>1?
wäre dankbar für etwas Hilfe :-)
Gruß
Ich gehe davon aus, dass Du das Problem hast ein Assembler-Programm zu schreiben, das multipliziert. Ist das richtig? An sich kann man als ersten Ansatz das Verfahren der schriftlichen Multiplikation auch in Assembler schreiben. Es mag nicht optimal sein, aber es geht. Falls Dir das an sich auch klar ist, dann schreibe doch bitte mal, was genau Du wissen willst.
Also ich hole jetzt mal aus^^: wir sollen insgesammt einen Logarithmieren bauen. Dazu sollen wir zahlen zwischen 0.5 und 1 mit einer Geraden annähern. Das ist soweit (glauben wir) kein Problem ABER die Zahlen <0.5 sollen zuerst normiert werden damit sie > 0.5 sind hierzu haben wir einen Befehl zur Verfügung der so lange nach links shiftet bis die Zahl größer 0.5 ist und bei jedem Shiftvorgang dekrementiert er ein Register. Also steht dann in diesem Register "quasi" wie oft x2 genommen wurde zB 3mal. Das enspricht mal 2^3 also mal 8. Den "normierten" Wert logarithmieren ist kein Problem, jedoch müssen wir um auf den wirklichen Wert zu kommen davon noch log(2^3) abziehen log(2^3) = 3 * log 2 = 3 * 0,301 So aber wie kommen wir von dem dekrementierten Register auf die "3" und wie multiplizieren wir dann damit 0.301?^^
Servus, ich verreck hier sind zollner leute am leben!!! ^^ Habs grad hintermir!!! MAUAHAHAHAH MfG MingliFu
Ich kenne Euch alle. Und für Sie, MingliFu, ist die nächste Prüfung bei mir die letzte Ihres Studiums. Zollner
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.