www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik st-Befehl


Autor: Tobias Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

muss man bei den st Befehl irgend was beachten. Sobald ich den Verwende 
spackt mein ganzes Programm.

Egal ob
  st y, r16
oder
  st z, r16

Die Register YL,YH bzw. ZL,ZH werden nur für die Adresse zuweisung 
verwendet, sonst nirgends:

  ldi temp, (maxx+1)
  mov rm1, temp
  mov rm2, dy
  rcall mul8

  mov YL, rel
  mov YH, reh

  add YL, dx
  brcc PC + 2
  inc YH

Wenn ich den Befehl aus kommentiere oder durch ein sts ersetze 
funtkioniert es.

Grüße

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solange die Registerpaare ZL/ZH bzw. YL/YH die richtige Adresse 
enthalten sollte dein Programm problemlos laufen. Wenn du die allerdings 
durch falsche Zeiger z.B. die Return-Adressen auf dem Stack 
überschreibst, kann's daneben gehen.

Autor: Tobias Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm... Wenn ich bei 0 Anfange und höchsten 80 wird, dann solltest doch 
locker reichen, oder?

Autor: Tobias Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm...vielleicht verstehe ich das auch mit den High/Low Dinger falsch

Ich denke:

Der Pointer Y besteht aus YL und YH. YL enthält die "niedrigen Werte" 
als z.B. bei 1000 als Zahl:

  YH    |   YL
00000011 11101000

Oder ist das falsch?

Grüße

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit 0 kannst du nicht anfangen, da ja dort die Register 0-31 gefolgt von 
den I/O-Registern liegen. Die erste SRAM-Adresse ist $60. Bei den 
grossen Atmels mit zusätzlichem I/O (z.B: Mega 128) $100.

Autor: Tobias Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah! Daran liegt es wohl!!!

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.