/*
 * first_run.asm
 *
 *  Created: 24-Jun-13 22:34:04
 *   Author: Dessp
 */ 


 .def temp = R16

 .equ XTAL = 8000000
 .equ baudrate = 9600
 .equ bauddivider = XTAL/(16*baudrate) - 1

 		.cseg
		.org	0


start:	rjmp	init
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti
		reti

init:	 ldi		temp,RAMEND
	     out		SPL,temp

	   ldi		temp,0x80
	   out		ACSR,temp

	   ldi		temp,0x80
	   out		CLKPR,temp
	   nop
	   ldi		temp,0x00
	   out		CLKPR,temp
	  

UARTi:	
		ldi		temp,high(bauddivider)
		out		UBRRH,temp
		ldi		temp,low(bauddivider)
		out		UBRRL,temp
		
		
	//	ldi		temp,0
	//	out		UCSRA,temp
		
		ldi		temp, (0<<RXEN)|(1<<TXEN)|(0<<RXCIE)|(0<<TXCIE)|(0<<UDRIE)
		out		UCSRB,temp

		ldi		temp,(1<<UCSZ0)|(1<<UCSZ1)
		out		UCSRC,temp






main:	ldi		temp,'A'
		rcall	uart_snt
		
		rjmp main




uart_snt:	sbis	UCSRA,UDRE
			rjmp	uart_snt
			
			out		UDR,temp
			nop
			nop
			nop
			ret	