Tabelle implementieren Assembler MPLAB

OP #1970709
Lesenswert?
• ▲
▼
Hallo!

Bitte um Hilfe!
Ich programmiere den PIC16f88 in MPLAB mit der Sprache Assembler.
Ich hab 2 sehr große tabellen. Jede Tabelle hat die Werte von 0-255.
Nun mein Problem ist dass der PCL überschritten wird und er beim call 
tab irgendwo hinspringt.
Ich muss also die Tabelle implementieren. Dafür gibts auch das 
Datenblatt AN556. Aber ich komme trotzdem nicht weiter.

z.B.:
                          addlw   0x01
        movwf  PCLATH
        movlw  d'7'
        call  tab_timerlow

tab_timerlow    addwf  PCL,f
                retlw  0x00
                .
                .
                .

??
funktioniert aber nicht!
Bitte um Hilfe. Eventuell den Programmteil kurz posten !
Danke schon im Voraus!

LG Lukas H.
Gast #1970721
Lesenswert?
• ▲
▼
So sollte es funktionieren.
1
    movlw   d'7'
2
    movwf   address
3
    call    tab_timerlow
4

5

6
tab_timerlow
7
    movlw   high tablestart
8
    movwf   PCLATH 
9
    movlw   low tablestart
10
    addwf   address, w 
11
    btfsc   STATUS, C
12
    incf    PCLATH, f
13
    movwf   PCL
14
tablestart
15
    retlw   0
16
    retlw   1
17
    retlw   2

Gruß Flo
Gast #1971013
Lesenswert?
• ▲
▼
Hallo Lukas,
das ist die Adresse (high- und lowbyte) des Labels 'tablestart' und 
damit die Adresse vom ersten Wert der Tabelle, hier: 'retlw  0'.
Du brauchst dich nicht darum zu kümmern, das macht der Compiler.

Gruß
John

Antwort schreiben

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.

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.