unexpected REGDEF - z-pointer einrichten - icall / ijmp

OP #327657
Lesenswert?
• ▲
▼
Hallo zusammen!

Ich will gerade den Befehl icall nutzen um ein menü einzurichten.
Habe allerdings anscheinend ein Problem mit zl und zh.
AVRStudio gibt mir immer den Fehler "syntax error, unexpected REGDEF"
aus.

Könnte da mal jemand einen Blick darauf werfen, wo ich da etwas falsch
mache?

Hier der komplette code:
---------------------------CODE ANFANG-------------------------------
.include "m162def.inc"
.def dashier = r16
ldi dashier, 0x02

          ;----in der nächsten Zeile wird der Fehler angezeigt----
   ldi zl,low (dashier*2) ;hier z.B. 0x02 statt "dashier*2 oder
   ldi zh,high(dashier*2) ;"dashier", dann gehts ohne Fehler.
                          ;Allerdings kann ich damit nicht anfangen

   icall        ;auch mit ijmp ändert sich nichts
   ret
punkt1:
   nop
   ret
punkt2:
   nop
   ret
punkt3:
   nop
ret

dashier:
   rjmp punkt1
   rjmp punkt2
   rjmp punkt3

ende: rjmp ende
---------------------------CODE ENDE--------------------------------


MFG
Samtox
#327658
Lesenswert?
• ▲
▼
Du musst den Z-Pointer mit einer Konstante laden, nicht mit einer
Variable. Die Konstante ist das Label, an dem deine Sprungtabelle
beginnt. Und das *2 ist wohl auch nur bei LPM nötig, da hier der
wordweise organisierte Flash byteweise angesprochen werden muss. Bei
IJMP/ICALL wird der Flash wordweise angesprochen.

Siehe: http://www.hanneslux.de/avr/stopuhr/index.html
oder http://www.hanneslux.de/avr/zuenduhr/index.html

Die Steuerung des Menüs müsste in beiden Codes zu finden sein.

...

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.