100825/tex/m8100625countslow.asm

; (c) David Vajda
; 10/06/25
; m8 - atmega8 - led count - slow

.include "m8def.inc"

ldi r16, HIGH (RAMEND)
out SPH, r16
ldi r16, LOW (RAMEND)
out SPL, r16

ldi r16, 0xff
out DDRB, r16

ldi r16, 0xff
mainloop:
out PORTB, r16
rcall sleep
dec r16
rjmp mainloop

sleep:
push r16
push r17
push r18
ldi r16, 0xff
sleep_1:
ldi r17, 0xff
sleep_2:
ldi r18, 0x04
sleep_3:
dec r18
brne sleep_3
dec r17
brne sleep_2
dec r16
brne sleep_1
pop r18
pop r17
pop r16
ret