Na so als wenn du eine schriftliche Multiplikation machst. Heißt z.B: bei 49920*3 = 40000*3 + 9000*3 + 900*3 + 20*3 + 0*3 = 120000 + 27000 + 2700 + 60 + 0 = 149760 .
Im Link siehst du das ich erst 1low*2low + 1low*2high + 1high*2low + 1high*2high rechne
https://www.roboternetz.de/community...ine-Bibliothek unter Mathe.asm
http://www.avr-asm-tutorial.net/avr_...nen/index.html
Das Wissen fehlt dir nicht sondern es ist nur verschüttet im Unterbewusstsein, man hats ja mal in der 2-4Klasse gelernt
Wo es gespeichert wird hängt von der Rechenart ab, Bei der Multiplikation fest verankert IMMER in R0:R1 heißt wenn dort die Werte vorher geladen werden, werden sie danach überschrieben.
Addition/Subtraktion Add r16,r17 wird das Ergebnis immer in das Register vor dem Komma geschrieben siehe Datenblatt Instructionset
Einfach mal im Simulator Werte laden und mit den Rechnarten probieren zum Verständnis.
Zum Timer 2 der kann ASYNCHRON bzw für SLEEP muss sogar ASYNCHRON betrieben werden.
Der MEGA16/32 sind die älteren Generationen Atmega 48/88/168/328 sind alles Atmega8 nur mit 4-32Kbyte Flash und kleinen Unterschiedlichkeiten in der Adressierung der Hawrdwere aber sonst identisch
Lesezeichen