www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Save Assembler Routinen, wie macht Ihr das?


Autor: Binnesmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

ich weiß, jeder hat seinen Programmierstil. Mir geht gerade ein wenig
die Übersicht im Interruptfall verloren. Was auch dazu führt, dass sich
Fehler im Programm einschleichen. Jetzt habe ich schon viele Routinen
verkleinert, zerhackt und weitesgehend alle verwendeten Variabeln
vorher gepusht und nachher gepopt. Ich verwende aber auch die Register
R0 bis R7. Die kann man aber leider nicht Pushen und Popen. Wie macht
Ihr das? Denke ich nur zu komplex? Bin für Denkanstösse die meinen
Programmierstil verändern dankbar.

Ich verwende gerade übrigens einen 80C517A.

Gruß Binnesmann

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man muß dem Assembler vorher sagen, welche Registerbank man verwendet,
z.B.:

using 0 ;Bank 0

Und dann pusht man die Register so:

push ar0
push ar1
;usw.


Peter

Autor: thkaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Register werden im internen Speicher abgebildet. Wenns der Assembler
mit der Methode von peter nicht macht, gehts auch so:

push $00
push $01
.
.
.


$00..$07 = R0..R7 (Registerbank 0)
$08..$0F = R0..R7 (Registerbank 1) usw. bis $1F

Mit dieser Abbildung im Speicher kann man ganz gemeine Sachen machen,
wenn man indirekte Addressierung hinzuwürfelt... da steigt niemand mehr
durch :D

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.