; ; portd 3-7 blinken lights ;) ; ; author: hackbard@hackdaworld.dyndns.org ; .include "../include/2313def.inc" INIT: ldi r30,2 ; light counter ldi r28,1 ; constants ldi r27,0x7f ; out DDRD,r27 ; select all pins as output rjmp LIGHT LIGHT: ldi r31,0 ; reset wait counter lsl r30 cpi r30,128 breq RESET_L ldi r16,0xff sub r16,r30 out PORTD,r16 rjmp WAIT RESET_L: ldi r30,2 ; again start with 1 rjmp LIGHT WAIT: ldi r29,0 ; reset inner wait counter add r31,r28 ; increment wait counter cpi r31,0xff ; after 255 steps breq LIGHT rjmp WAIT_MORE WAIT_MORE: ldi r25,0 ; reset inner inner wait counter add r29,r28 ; increment inner wait loop counter cpi r29,0xff ; goto first wait loop after 255 cycles breq WAIT rjmp WAIT_MORE_MORE WAIT_MORE_MORE: add r25,r28 ; inc inner inner wait counter cpi r25,0x05 ; goto wait_more loop breq WAIT_MORE rjmp WAIT_MORE_MORE