[AVR ]Wie komplett in Assembler geschreibener Interrupt im C-Projetk

Gast #1988955
Lesenswert?
• ▲
▼
Wenn man in einem C-Projekt einen Teil in Assembler schreiben will dann 
nimmt man normalerweise asm (volatile) ...; .
Aber: Wenn ich jetz eine ultraschnelle Intrrruptroutine brauch ist das 
nicht zu gebrauchen, der Compiler pusht nämlich erstmal die Register und 
führt dann erst den Code aus -> Zeitverlust...
Wie sag ich jetzt dem Compiler, dass er die Finger von dem Interrupt 
lassen soll?
Gast #1988957
Lesenswert?
• ▲
▼
Max schrieb:
> Aber: Wenn ich jetz eine ultraschnelle Intrrruptroutine brauch ist das

Definiere ultraschnell.
Für die meisten Sachen reicht die C-Implementation vollkommen aus, für 
die anderen Fälle kann man sich überlegen, das Programm komplett in 
Assembler zu schreiben.
:-)
Persönliche Seite #1988981
Lesenswert?
• ▲
▼
Max schrieb:

> der Compiler pusht nämlich erstmal die Register und
> führt dann erst den Code aus -> Zeitverlust...

Warum macht der das? I.d.R. damit dein Nicht-Interrupt-Programmteil 
fehlerfrei läuft.

Wenn du das nicht brauchst oder meinst es nicht zu brauchen, kannst du 
ihm sagen, dass du keinen Prolog/Epilog möchtest. Befasse dich dann mit 
dem __attribute__((naked)) im Funktionsheader.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.