Hallo allerseits Also, dass man MUL-Befehle verwendet, um 8Bit-Zahlen miteinander zu multiplizieren, ist mir klar. Aber was heißt signed und unsigned? -> Wie unterscheiden sich die MUL-, MULS-Befehle? MULSU beinhaltet woll beides. Und was heißt fractional? -> Wie unterscheiden sich die MUL-,MULS-,MULSU-Befehle von den FMUL-,FMULS-,FMULSU-Befehlen??? Hoffe, mir kann jemand helfen. MfG
Valentin wrote: > Aber was heißt signed und unsigned? Signed byte: -128..127, unsigned byte: 0..255. Die Interpretation der beiden zu multiplizierenden 8-Bit Werte beeinflusst das obere Byte vom Ergebnis. > -> Wie unterscheiden sich die MUL-, MULS-Befehle? MULSU beinhaltet woll > beides. Atmels Befehlsbeschreibung könnte da helfen. > Und was heißt fractional? Soll Festkommaarithmetik vereinfachen.
Guten Morgen Die Befehlsbeschreibung habe ich zwar gelesen, aber nicht schlauer geworden. Die ist ja auf Englisch! Danke dir aber trotzdem für deine Hilfe.
Valentin wrote:
> Die ist ja auf Englisch!
Quelle surprise!
Wie mindestens 99% aller hierzulande relevanten Literatur, was
Zwergsteuerungen angeht. Bar eines eindeutigen Hinweises, ging ich
einfach davon aus, dass ausreichende Englischkenntnisse vorhanden sind.
Um die Worte "signed" und "unsigned" ins Deutsche zu übersetzen tut es
ein einfaches Wörterbuch. Dass das Eregbnis einer Multiplikation 8x8=>16
Bit davon abhängt, ob die Operanden als -128..127 oder als 0..255
interpretiert werden, lässt sich mit Taschenrechner oder auch ganz
archaisch mit Papier und Bleistift nachvollziehen. Ich nehme mal als
gegeben an, dass der Unterschied zwischen positiven und negativen Zahlen
bekannt ist.
Und damit sind m.E. alle Voraussetzungen gegeben, um den entscheidenen
Text der Befehlsbeschreibung zu MULSU interpretieren zu können, auch
ohne ein einziges Wort Englisch zu können:
R1:R0 <= Rd * Rr (signed <= signed * unsigned)
Wo also liegt genau das Problem?
Das Wort "signed" habe ich übersetzt. Im Wörterbuch stand "gezeichnet". Und dann dachte ich, soll das signierte Wert gezeichnet und das unsignierte gemalt werden oder was???!!! Aber jetzt im Ernst. Dank deiner Hilfe konnte ich den Unterschied zwischen MUL und MULS nachvollziehen. Wenn man also -2 x -128 rechnen möchte, muss man mit MULS 254 x 128 rechnen. Wieso rechnet man nicht 2 x 128 mit MUL? Hast du vielleicht ein paar Beispiele für die MUL-Befehle? Danke nochmals. MfG
Hi >Hast du vielleicht ein paar Beispiele für die MUL-Befehle? Das kleine und grosse 1x1 ist voll davon. Nimm einfach den Simulator vom AVR-Studio und teste die Befehle einfach mal durch. Für gebrochene Zahlen die die Funktionen 'Frac','Q7','Q15' (siehe AVR-Studio Hilfe) hilfreich. MfG Spess
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.