diff --git a/src/clockinator.S b/src/clockinator.S index 4b0edf5..a18dcec 100644 --- a/src/clockinator.S +++ b/src/clockinator.S @@ -1,10 +1,29 @@ -; Registers -; r16: ISR setup, reused only by START_BLINK on loop +; Registers TODO: use .def for these!!!! +; r16: ISR setup (vct) -> timer0_set (main) -> START_BLINK (loop) +; r17: timer1_set (main) -> timer1_cnt low byte (loop) +; r18: timer1_set (main) -> timer1_cnt high byte (loop) +; r19: +; r20: + + +.org 0x0000 ; RESET Vector + rjmp main +.org 0x0002 ; INT0 button interrupt (tap tempo) + ;rjump tap_tempo --> should have timer0_start --> if timer0_overflow_count=0 start timer (?) +.org 0x0004 ; TIMER0 overflow + rjump timer0_isr +.org 0x0006 ; TIMER1_COMPA + rjmp timer1_isr +.org 0x0012 ; TIMER0_COMPA + rjmp stop_blink + +.dseg + timer0_overflow_count: .byte 1 + +.cseg + clr r0 + sts timer0_overflow_count, r0 -.org 0x0000 ; RESET Vector - rjmp main -.org 0x000A ; TIMER0_COMPA (Timer0 Compare Match A) - rjmp stop_blink #define __SFR_OFFSET 0 #include