mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Daten indirekt aus Rom laden


Autor: Scales O.j. (scales)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab in R1 eine Adresse die auf einen bestimmten Bereich im Code
zeigt,
an der Stelle sind Werte gespeichert die ich auslesen will

aber wenn ich nun

mov a, @r1

schreibe, lädt er zwar von der richtigen Adresse, aber aus dem RAM und
nicht vom ROM, auf dem mein Code ist

wie kann ich in dazu bringen das Zeug aus dem ROM zu laden?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dazu musst du den movc-Befehl benutzen.
Entweder adressiert über den DPTR
movc, A, @A+DPTR
oder über den aktuellen PC
movc A, @Q+PC

Autor: google hupf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also könnte ich

mov DPTR, 0
movc a, @r1+DPTR

schreiben, und er würde einfach den durch r1 adressierten wert in a
speichern?
oder muss man DPTR anders auf 0 setzen?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kommt nur das Q da oben bei mir rein??
mov DPTR, 0
mov A, r1    //Adresse nach
movc A, @A+DPTR

Autor: google hupf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dachte das wäre ein schreibfehler, wie das "," nach dem movc ;-)
was bedeutet denn Q?

nur für Akkumulator?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Q gehört da gar nicht rein, es liegt nur zu nahe am A bei meiner
Tastatur :-)
Geht alles nur über den Akku.

Autor: Scales O.j. (scales)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das stimmt aber schon wenn ich

mov DPTR, #0

statt

mov DPTR, 0

schreibe, oder?

anders wollte es der Assembler jedenfalls nicht
und eigentlich ist 0 ja ne Konstante

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.