www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Funktionen


Autor: schuster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es bei Assembler, Funktionen, aus evtl. ähnl wie in C ?
Rückgabewert ist nicht umbedingt erforderlich aber ich halte es für
verschwendung den ich 4 reihen code immer wieder wenn ich sie brauche
neu hinschreiben muß ! ?

Autor: Khani (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also a) wenn es nur 4 Zeilen sind - copy und paste hat da schon immer
funktioniert und ist auch schneller am Ende, oder willst Du jedes mal
einen Sprung, Register sichern und einen Rücksprung ?!
b) Makros tun auch gute Dienste, die ersetzen dann den Code beim
Kompilieren
c) Man kann natürlich Funktionen erstellen. push parameters on stack,
jump to label, pop parameters from stack (muss man evtl. mit der
Rücksprungadresse aufpassen, sonst ist die "fortgepoppt"), return
from service.

Ist etwas umständlich, bei großen Funktionen aber nützlich.

MfG, Khani

Autor: Aleksej (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es um AVR-Assembler geht, wie ich es verstehe, dann könntest du
prinzipiell das gleiche mit rcall oder call schaffen, lese die
datasheets noch mal durch. Bei den anderen MCU's sieht es genau so aus
(acall bei 8051 z.B.)

Autor: franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt eine Menge von Programmschnippseln hier im Forum,
die mit Subroutinen arbeiten. Schau mal ins Tutorial (z.B. UART)

Grüße,
Peter

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Parameter übergibt man nur über den Stack wenns unbedingt sein muß.
Besser ist das übergeben in Registern oder vorher vereinbarten
Speicherstellen.

Matthias

Autor: schuster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oki danke mit call habe ich es super hinbekommen , kommt auch sehr na an
c ran wenn man mit registern arbeitet ! Thx.

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.