DPTR Datenzeiger

Gast #24089
Hi!

Ich hab das mit dem Datenzeiger noch nicht richtig verstanden.
Was ich hinbekommen habe ist, mit DB ein Datenfeld zu erzeigen, in dem 
ASCII Zeichen stehen. Vor dem Datenfeld habe ich eine Sprungmarke 
erstellt und mit MOV DPTR,#Sprungmarke das Datenfeld mit dem Datenzeiger 
verknüpft. Nun kann ich die Zeichen auslesen.
Das klappt auch soweit.

Jetzt möchte ich aber den Datenzeiger auf das RAM zeigen lassen, wo dann 
zur Laufzeit dynamisch andere Zeichen stehen können.
Z.B. schreibe ich ab Adresse 40h mehrere ASCII-Zeichen in das RAM.
Wenn ich MOV DPTR,#40h eingebe und dann mit
CLR A
MOVC A,@A+DPTR
; A verarbeiten...
INC DPTR
MOVC A,@A+DPTR
; A verarbeiten...
....
versuche die Zeichen auszulesen, klappt das nicht.

Geht das überhaupt???

Thanks Tabi
Gast
Klappt leider auch nicht.
Wenn ich das richtig verstanden habe, steht in DPTR eine Adresse. Mit 
mov DPTR,#Sprungmarke schreibe ich die Adresse des ersten Zeichens der 
im Flash-Speicher stehenden ASCII-Zeichen.
Die unten angegebene Routiene zum Auslesen funktioniert ja auch mit dem 
im Flash-Speicher befindlichem ASCII-Zeichen.

Wenn also meine Annahme richtige ist, dann muss ich doch nur eine 
RAM-Adresse in DPTR schreiben. ODER kann ich das garnicht??? und wenn 
ja, wie?
Gast
verschieden Befehle für verschiedene Speicherbereiche,
aus dem Programmspeicher lesen mit movc, ist der RAM die Zieladresse, 
mußt du movx benutzen.
Gast
OK, danke erstmal.

Ich hab das grad ne Menge dazu gelernt. Ich wußte nicht, dass es einen 
externen Datenspeicher gibt.
In meinem Fall wollte ich auf den internen Datenspeicher zugreifen, was 
man ja ganz normal mit MOV macht. Meine ASCII-Zeichen sollen auch im 
internen Datenspeicher stehen. Ein Arbeiten mit DPTR ist in diesem Fall 
also völliger Unsinn.

Thanks Tabi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.