Forum: Mikrocontroller und Digitale Elektronik Mul befehl


von rené (Gast)


Lesenswert?

Hallo,

Problem ich Multipliziere 2 Zahlen mit dem Mul befehl.
255 * 255 im Reg. R0 steht dann FF und Im Register R1 Steht dann FE
sollte da jetzt nicht auch FF stehen?

das ergebniss wird doch in den Registern R0 (LOW Byte) und R1 (High
Byte) ausgsgeben. oder sehe ich das Falsch.

Danke für eine kurze aufklährung.

von Der T. (Gast)


Lesenswert?

Hmmm...

255*255 = 65025 = 0xFE01

dummguck

von rené (Gast)


Lesenswert?

zu Blöd
womit muß ich Multiplizieren das er 0xFFFF ausgibt.
Sorry für die Blöde Frage.

Normalerweise müsste er doch wenn man FF x FF rechnet FFFF rauskommen.

von johnny.m (Gast)


Lesenswert?

Wieso denn? FFh * FFh ist nunmal FE01h. Da kannst auch Du nix dran
ändern!

von tastendrücker (Gast)


Lesenswert?

genau... oder in Dezimal:

99 * 99 = 9801 ... und nicht 9999

von johnny.m (Gast)


Lesenswert?

Du kannst es auch andersrum sehen: FFFFh / FFh = 101h (in Dezimal: 65535
/ 255 = 257)...

von Profi (Gast)


Lesenswert?

es fehlen FFFF-FE01 = 1FE = 2*FF.

In DSPs gibt es die MAC-Unit (Multiply and Add).
Deren Ergebnis kann FFFF sein, falls beide Multiplikanden und Summanden
FF sind.

Habe mal in einem DSP-Buch (von TI?) eine sehr schöne Grafik dazu
gesehen, suche ich Euch heraus.
Auch wenn man Multiplikationen kaskadiert, ist dieser
2-fach-Hinzu-Adder sehr nützlich.

von Rolf Magnus (Gast)


Lesenswert?

> womit muß ich Multiplizieren das er 0xFFFF ausgibt.

Mit 0x101.

> Normalerweise müsste er doch wenn man FF x FF rechnet FFFF
> rauskommen.

Nein, denn dann würde er falsch rechnen.

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
Noch kein Account? Hier anmelden.