Forum: Mikrocontroller und Digitale Elektronik st-Befehl


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tobias Müller (Gast)


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

von mikki merten (Gast)


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.

von Tobias Müller (Gast)


Lesenswert?

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

von Tobias Müller (Gast)


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

von mikki merten (Gast)


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.

von Tobias Müller (Gast)


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]
  • [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.