PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : r16 in ax schieben oder multiplikationshilfe!



Philipp83
08.05.2006, 23:55
Nabend!

Auf die Gefahr hin das ich euch mittlerweile nerve *SORRY !

mit welchem befehl (finde ich irgendwie nicht) kann ich das register z.b. r16 in das (16 bit register??????) ax schieben?

ich möchte eine 8 bit zahl (ist dringend) mit 60 multiplizieren und dann
eine 16 bit zahl erhalten. NUR WIE??

BITTE UM HILFE !!

Gruß, Philipp

Florian
09.05.2006, 07:13
Hallo Philipp!
Du brauchst Dir kein schlechtes Gewissen machen, aber ein kleiner Blick ins Datenblatt hätte es in diesem Fall auch getan.
Ist aber nicht weiter schlimm.
Ich gehe mal davon aus, dass Du in ASM programmierst, da Du in dem dazugehörigen Forum gepostet hast und keine andere Sprache genannt hast.
Du kannst einen Wert folgendermaßen kopieren:
mov rYY , rXX
Dabei wird der Wert von Register rXX in das Register rYY kopiert.

Ich hoffe ich konnte weiterhelfen!

Viele Grüße
Florian

Philipp83
09.05.2006, 15:20
Ohh, hatte mich falsch ausgedrückt :-)

ich meine, das ich das gesister r16 in das register ax (16 bit????) schieben möchte.
das funktioniert mit mov aber irgendwie nicht.

ich muss nämlich ganz ganz dringend (für die firma) eine 8 bit zahl
mit 60 multiplizieren, wobei aber eine 16 bit rauskommt.

ich dachte ich kopiere r16 in ax (16 bit register???) und multi dann.

aber wie bekomme ich r16 in das register ax und kann ich das überhaupt
so machen wie ich das vorhabe?

mfg, philipp

PicNick
09.05.2006, 15:30
"ax" klingt für mich mehr nach Intel-Prozessor als nach AVR-Chip

???

Philipp83
09.05.2006, 15:36
hmm, gibt es kein einziges 16 bit register beim atmega16 ??

mich würde jetzt auch ein programm retten, das mir r16 mit 60 multi
und das ergebnis in r16 und r17 ausgibt.

Hanni
09.05.2006, 15:43
Datenblatt:

Assemblerbefehle:

Schau dir mal mul, fmul etc an.


Grüße,

da Hanni.

Florian
09.05.2006, 16:00
Also direkt 16bit-Register besitzt der AVR keine, aber er hat welche (Zählerregister), die verknüpft sind.
Du meinst sicherlich die X-, Y- und Z-Registerpaare (XL/XH | YL/YH | ZL/ZH).

Philipp83
09.05.2006, 16:06
ja, kann ich denn mit den verknüpften registern mein problem beheben?

wenn ja, bitte ich um ein codebeispiel, da ich wie gesagt nicht weiterkomme
und grad sehr unter druck stehe.

uwegw
09.05.2006, 16:25
Schau mal bei http://www.avr-asm-tutorial.net/avr_de/index.html rein, speziell ins Kapitel http://www.avr-asm-tutorial.net/avr_de/rechnen/multiplikation.html

Philipp83
09.05.2006, 17:07
SUPER!

das verstehen kommt zwar leider erst später, aber geht diesmla nicht anders.

VIELEN DANK AN ALLE!!!!!!!