Interrupts in ASM

Gast #313221
Lesenswert?
• ▲
▼
Hallo,
ich bin gerade an einem kleine ASM project dran, ich hab vor kurzem
angefangen zu lerne, jetzt hab ich ein Prog getippt, das alle 0,01sec
in eine Interruptroutine springen soll und dort ein Bit eines Ports auf
Hi setzt, nur es tut sich nichts, abe ich kann ums verrecken den fehler
nicht finden, könnt ihr mir sagen was hier nicht stimmt?

Grüße teslanikola
Angehängte Dateien:
Gast #313223
Lesenswert?
• ▲
▼
>;Interupt Config II
>sei
>ldi temp,0b10000010
>out tccr1a,temp
>ldi temp,0xb4
>out tcnt1l, temp
>ldi temp,0xe2
>out tcnt1h, temp
>;Stack einrichten
>ldi temp,low(ramend)
>out spl,temp

Außerdem richtet man ERST den Stack ein und initialisiert die
Peripherie BEVOR man ihr erlaubt Interrupts auszulösen.

>;Hauptprogramm
>Main:
> ldi temp,0b00000001
> out portd,temp
> ldi temp,0b00000000
> out portb,temp
>End: rjmp End
>;Interuptroutine
>t1int:
> ldi temp,0b00000001
> out portb,temp
>Reti

Das ist nicht ganz sauber
Was passiert wenn zwischen
> ldi temp,0b00000000
und
> out portb,temp
ein Interrupt auftritt?
Keine Ahnung was du eigentlich willst, aber für größere Programme
würde ich nicht das gleiche Register in der Interruptroutine und dem
Hauptprogramm benutzen ohne es zu sichern!

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.