Anfängerfrage: Aus welchem Grund wird "WL" bzw. "WH" als nicht definiert gemeldet?

OP #2708811
Hi@all,

ich bin dabei, einen LED-Blinker zu erstellen, bei dem eine LED 1s an 
und 1s aus geht. Alles sehr einfach gehalten, also ohne Interrupts und 
ohne Unterprogrammen.

Das Programm habe ich modulweise aufgebaut, d.h. die Zeitschleife, die 
1s Zeit benötig habe ich zuerst erstellt.
Eben diese besteht ferner aus einer 16-bit Schleife, in der eine 8-bit 
Zeitschleife durchgeführt wird. Mit meinem Takt (1MHz) und meinen 
Befehlen sind die Wiederholwerte für die 8-Bit Schleife 166 und für die 
16-bit Schleife 2000. Da der 16-bit Wert natürlich nicht in ein 8-bit 
REgister passt, habe ich das Register R25:R24 als WH:WL mit der 
.DEF-Direktive definiert.
Allerdings erzählt der Assembler mir beim zusammenbauen, dass er kein 
Label/Variable/Konstante WL bzw. WH kennt.

Habt ihr diesbezüglich eine Idee?

Hier ein Code-Ausschnitt:
1
.DEF Tmp1 = r16    ; Temp-Definition - allgemeines Register
2
.DEF TCnt1 = r17  ; hier das Register gewählen
3
.def WL = r24    ; unterer Teil des 16-bit Doppelregisters
4
.def WH = r25    ; oberer Teil des 16-bit Doppelregisters
5
;---------- Wertnamen ----------------------------------------------------------
6
.EQU G1 = 166    ; hier die Wiederholungszahl & damit die Zeit der
7
;        inneren Schleife eingetragen
8
.EQU G2 = 2000    ; hier die Wiederholungszahl der äußeren 16-bit
9
;        Schleife eingetragen
10
;---------- Initialisierungen --------------------------------------------------
11
  ldi Tmp1, HIGH(G2)  ; die große
12
  out WH, Tmp1    ; Zahl wird
13
  ldi Tmp1, LOW(G2)  ; in das Doppel-
14
  out WL, Tmp1    ; register geladen
Gast #2709550
Hi

>SP (das Stackpointer-Register) dürfte dann aber ein
>Sonderfunktions-Register sein, oder?

Das ist ein IO-Register. Also genau so anzusprechen wie PORTx... .

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.