delay.inc
changeset 89 1b3cea759eff
parent 88 c923295ee520
child 90 13c2deb919d1
--- a/delay.inc	Mon Jun 02 18:27:08 2014 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-;; vim: set ft=avr:
-;;
-;; Busy-loop delays
-;;
-
-;; Delay for approx. one second
-Delay_1s:
-        ; ~16M cycles
-        ldi         r20, 82
-        rjmp        delay_init
-
-;; Delay for a variable amount of time, adjusted by r20
-; Input: r20 controls number of delay loops
-VarDelay:
-        tst         r20
-        breq        delay_out
-
-delay_init:
-        ldi         r21, 255
-
-delay_loop:
-        ; 254 * (1 + 2) + 1 * (1 + 1) = 764 cycles / loop
-        dec         r22             
-        brne        delay_loop
-
-        ; 254 * 764 + 764 = 194820 cycles / loop
-        dec         r21             ;  1 * r20 * r21
-        brne        delay_loop      ;  2 * r20 * r21
-        
-        ; r20 * 194820 + r20 * 3 = 194823 cycles / loop (r20)
-        dec         r20             ;  1 * r20 
-        brne        delay_loop      ;  2 * r20
-
-delay_out:
-        ret
-
-