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ß ! ?
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
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.)
Es gibt eine Menge von Programmschnippseln hier im Forum, die mit Subroutinen arbeiten. Schau mal ins Tutorial (z.B. UART) Grüße, Peter
Hi Parameter übergibt man nur über den Stack wenns unbedingt sein muß. Besser ist das übergeben in Registern oder vorher vereinbarten Speicherstellen. Matthias
oki danke mit call habe ich es super hinbekommen , kommt auch sehr na an c ran wenn man mit registern arbeitet ! Thx.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.