Nein, sowas gibt es definitiv nicht. In Assembler musst Du das alles per Hand machen....
askazo
Tag
Ich müsste bei meinem ATmega8 einige Messwerte zwischenspeichern.
Da die Anwendung stellenweise zeitkritisch ist muß ich leider in Assembler programieren.
Weis wer von euch ob es beim Assembler Felder oder etwas in der Art giebt um ca. 100 bis 200 Messwerte im internen Ram zwischenzuspeichern?
mfg Bastlwastl
Nein, sowas gibt es definitiv nicht. In Assembler musst Du das alles per Hand machen....
askazo
Macht auch nichts.Nein, sowas gibt es definitiv nicht. In Assembler musst Du das alles per Hand machen....
Kannst du mir eventuell einen Tipp geben wie ich den internen Ram ansprechen kann?
Bei den Anwendungen die ich bis jetzt gehabt habe, bin ich immer mit den Registern als Zwischenspeicher ausgekommen.
(Servoansteuerung, IR-Komunikationsinterface, PC-Watchdog,...)
mfg Bastlwastl
Falls du mit C vertraut bist, kannst du auch mit C arbeiten und nur die kritischen Stellen in Assembler. Das macht es um einiges besser zu proggen und weniger fehlerträchtig.
Du machst dann nur einzelne Module in Assembler oder Codeschnippsel in inline Assembler.
Disclaimer: none. Sue me.
Ich bin mit C vertraut.
C und C++.
Bei C++ kann ich die Unterarten: Konsole, MFC, ATL, ActiveX und SDK.
Und bei C habe ich mich einwenig mit der C-Version die Mikrocontrollern verwendet wird beschäftigt.
Klar kann ich eigentlich fast alles in C machen.
Aber 1. möchte ich wenns geht alles einheitlich programieren um nicht durcheinanderzukommen.
Und 2. möchte ich wissen wie ich dieses Problem im Assembler lösen kann.
Nach dem Motto: Wieso einfach wenn's auch kompliziert geht.
Denn das Problem ist dass immer weniger Leute Assembler verwenden und wenn ich wirklich eine solche Aufgabe in Assembler verwirklichen muß, weis keiner mehr wie's geht.
mfg Bastlwastl
Hi all,
ich kenne jetzt nicht den Assemblercode des ATmega8, jedoch hat meines Wissens nach jeder Proz die Möglichkeit der indirekt indizierten Adressierung der Transferbefehle. Damit wird im Allgemeinen die Programmierung der Felder für die Hochsprachen realisiert.
Datenblatt ( http://www.atmel.com/dyn/resources/p...ts/doc2486.pdf ) Seite 287
Die Idee die Grundlagen wieder zu verwenden finde ich gut. Was nützen einem die hohen Wissenschaften, wenn man die Basis nicht drauf hat ? Und Assembler hat auch seinen Reiz. Da kann man noch so richtig in den Eingeweiden eines Proz rumwühlen.
Grüße Klaus
Eine verrückte Idee ist besser als keine
Danke.
Ich werd mir das und die Hilfe zu den Befehlen mal genauer durchlesen.
(Jetzt hab ich mir das Datenblatt schon 2 mal durchgelesen und hab immer noch einiges übersehen.)
mfg Bastlwastl
Was denn ...
Wenn man beim einmaligen durchlesen von nur 305 Seiten sich nicht mindestens 99% merken kann wird man langsam alt, oder ??
Grüße Klaus
Eine verrückte Idee ist besser als keine
Da muß ich dir leider zustimmen.
Eine andere Frage.
Ich bin da jetzt auf die Befehle
LDS -> Load Direct from SRAM
und
STS -> Store Direct to SRAM
gestoßen.
Steht der SRAM dem Benutzer vollkommen zur Verfügung oder muß man ihn sich mit dem "OS", den Registern,... teilen?
Ich frage desswegen weil ich mir nicht versehentlich das Programm abschießen will.
mfg Bastlwastl
Hallo,
nIcht nur LDS und STS, sondern auch die vielen
LD, ST, LDD und STD Befehle sprechen das RAM an.
(und PUSH und POP natürlich auch)
Beim Mega8 steht dir das RAM ab $60 zur Verfügung.
Von 0 bis $5F liegen wie du schon vermutest, die internen Register,
die sich übrigens auch als RAM ansprechen lassen.
Gruß Jan
Lesezeichen