mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ASM PIC 18 Tableread mit Postincrement


Autor: Jochen S. (jochen_s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
bin ja eigentlich ein AVRler aber der Prof in der FH halt leider 
nicht...
Hier gehts um Asembler für einen PIC 18
Kann mir hier mal einer bestätigen ob ich das richtig verstanden habe:
movlw LOW MyStringtable
movwf TBLPTRL
movlw HIGH MyStringtable
movwf TBLPTRH
movlw UPPER MyStringtable
movwf TBLPTRU
TableReadLoop
tblrd*+
movf TABLAT,w
btfsc STATUS,Z
bra EndLoop
call LCDPutChar
goto TableReadLoop
EndLoop

org 0x7000
MyStringTable
DW Microchip\0

Der Tablereadpointer ist ja Postincrement wird also erhöht nachdem der 
Befehl
movwf TABLAT,w
ausgeführt wurde oder??
woher weiss der PIC das dann noch, dass er das machen soll??

Danke
Jochen

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jochen S. wrote:

> Der Tablereadpointer ist ja Postdecrement wird also erhöht

Also wat nu?
Decrement: runter.
Increment: rauf.

Autor: Jochen S. (jochen_s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja war mir auch gerade aufgefallen war gerade im Bearbeiten als du 
geantwortet hast ...

Hast du denoch ne Lösung für mich???
Jochen

Autor: Meister Eder (edson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jochen,

die Aussage

>Der Tablereadpointer ist ja Postincrement wird also erhöht nachdem der
>Befehl
>movwf TABLAT,w
>ausgeführt wurde oder??

ist nicht richtig. Nebenbei ist dir noch ein Schreibfehler unterlaufen, 
die Anweisung im Code ist aber richtig: movf TABLAT, w

>woher weiss der PIC das dann noch, dass er das machen soll??

Das teilst du ihm mit dem tblrd*+ Befehl mit. Wenn dieser ausgeführt 
wird, erhält TABLAT den Inhalt der Quell-Adresse und der Tablepointer 
erhöht sich um 1. Die folgende movf-Anweisung bringt den Inhalt von 
TABLAT zur Verarbeitung ins w Register.

>bin ja eigentlich ein AVRler aber der Prof in der FH halt leider
>nicht...

Bitte nicht weinen... ;)

Gruss,
Edson

Autor: Jochen S. (jochen_s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar da war mein denkfehler Tablat hat den inhalt nicht die 
Adresse des Registers

Jochen
Der wegen sowas nicht anfängt zu heulen ;=)

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.