Hi Leute,
also ich zweifel grad an mir ;)
warscheinlich ist es auch nur irgendwie ein Flüchtikeitsfehler, aber
mal zur Erklärung.
Ich habe einen Wert, den im mit 10 Multiplizieren möchte. Mein
Controller ist ein 90S4433. Der ja nen Hardwaremultiplier hat wenn ich
mich nicht irre.
Also benutzte ich den befehl "mul"
hier mal mein Quellcode:
heiz_schalt_ein:
ldi temp2,10
;temp wert zehner
mov temp1,r22
rcall BITSWAP
mul temp1,temp2
mov temp3,r0
;temp wert einer
mov temp1,r23
swap temp1
rcall BITSWAP
add temp3,temp1
so.. also ich will temp1 mit temp2 multiplizieren, und laut instruction
Set wird das Ergebnis in R0 und R1 gechrieben.
Nun hab ich das in den Controller geschrieben und es funzt nicht, dann
dacht ich mir, simulier es doch mal in AVRStudio 4 und da macht ers
auch nicht. Mach ich da irgendwie was falsch? Warscheinlich... sonst
würde es ja gehen :)
aber vielleicht könnte mir ja jemand einen Tip geben, wär euch sehr
dankbar!
Gruss
Darko
hi.. man ist das Peinlich! Ich hab zwar im Instruction Set den Befehl gelesen, aber nun nochmal die Datenblätter gechecked und gesehen das das wohl erst ab den Megas implementiert ist. mist :) naja.. trotzdem danke die sich vielleicht schon den kopf zerbrochen haben :) Gruss Darko
Hallo Darko! Dein Studio hätte aber beim Simulieren aber meckern müssen, daß dieser Controller keine Multiplikation unterstützt!? Grüße Oliver
Hi Oliver, ja, also das hätt ich eigentlich auch erwartet, oder das es zumindest ne compilerwarnung gibt... aber leider nix :( nun gut, hab die Multiplikation halt von Hand gelöst :) @Frankl leider stimmts wohl, das es absolut unausgereift ist :( gruss Darko
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.