njsoly
3/13/2013 - 6:01 PM

Lab1.asm

/*
* 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