/*
* Lab1.asm
*
* Author: njsoly
*/
.include "m8515def.inc"
.def temp = r16
; initialize stack pointers
start:
ldi temp, low(RAMEND);
out SPL, temp
ldi temp, high(RAMEND);
out SPH, temp
ldi temp, $ff
out DDRB, temp
out PORTB, temp
loadbyte:
rol temp
out PORTB, temp ; update LEDs
rcall one_sec_delay ; call the one_sec_delay
rjmp loadbyte ; repeat
one_sec_delay:
ldi r20, 20
ldi r21, 25
ldi r22, 25
delay:
dec r22
brne delay
dec r21
brne delay
dec r20
brne delay
ret return