Forum: Projekte & Code 8051 mathematik-routinen


von Marcel Block (Gast)


Angehängte Dateien:

Lesenswert?

hi,

könntet ihr mal meinen dateianhang anschaun und mir sagen ob diese vier
routinen korrekt funktionieren und wie man sie noch optimieren könnte?

dann hätte ich noch ne frage: meine multiplikation und meine division
sind bisher noch recht einfach gehalten... was für methoden gibt es da
noch?

danke schonmal

MFG Marcel

von Peter D. (peda)


Lesenswert?

Ich weiß jetzt nicht, mit welchen Architekturen Du vorher gearbeitet
hast, aber das Carry Bit ist doch genau dafür gedacht, um
Mehrbyteoperationen einfach zu halten:

        mov     a, r2
        add     a, r4
        mov     r0, a
        mov     a, r3
        addc    a, r5
        mov     r, a
        ret

Das wars dann schon.
Die Subtraktion geht genau so, nur vor dem 1. "subb" kommt noch ein
"clr c"


Die Multiplikation geht einfacher mit dem "mul":

;r6,r7 = r6,r7 * r4,r5 (high,low)

mul16:  mov     a, r7
        mov     r3, a
        mov     b, r5
        mul     ab      ;l1*l2
        mov     r7, a
        mov     a, r5
        xch     a, b
        xch     a, r6
        mul     ab      ;h1*l2
        add     a, r6
        mov     r6, a
        mov     a, r4
        mov     b, r3
        mul     ab      ;l1*h2
        add     a, r6
        mov     r6, a
        ret



Peter

von Marcel Block (Gast)


Lesenswert?

achso g

ja dann is's ja easy :)
ich kannte dieses addc bisher nicht :)

danke

von dr. sommer (Gast)


Lesenswert?

könnt ihr mir veilleicht sagen, wie man ein bremslicht produzieren.
danke schon im vorhinein.

von dr. sommer (Gast)


Lesenswert?

ich meinte produziert.

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.