-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Gibt's unter Assembler Felder oder etwas in der Art?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    28.07.2004
    Beiträge
    88

    Gibt's unter Assembler Felder oder etwas in der Art?

    Anzeige

    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

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Nein, sowas gibt es definitiv nicht. In Assembler musst Du das alles per Hand machen....

    askazo

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    28.07.2004
    Beiträge
    88
    Nein, sowas gibt es definitiv nicht. In Assembler musst Du das alles per Hand machen....
    Macht auch nichts.

    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

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    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.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    28.07.2004
    Beiträge
    88
    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

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2005
    Ort
    Niederdorfelden / Hessen
    Alter
    49
    Beiträge
    368
    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

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    28.07.2004
    Beiträge
    88
    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

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2005
    Ort
    Niederdorfelden / Hessen
    Alter
    49
    Beiträge
    368
    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

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    28.07.2004
    Beiträge
    88
    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

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    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

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •