mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Diffenzierung der MUL Befehle des ATmega16


Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ... Zwergsteuerungen ...

ROFL

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.