;========================================================
;============= inicializace =============================
;========================================================

.include "m169def.inc" ; definujeme, ze budem pouzivat stack

.org 0x0000
    jmp start

.cseg
start:
	; inicializace stacku
	ldi r16, 0x00 ;nutne pro stack
	out SPL, r16 ;nutne pro stack
	ldi r16, 0x04 ;nutne pro stack
	out SPH, r16 ;nutne pro stack

	; inicializace joysticku
	call joy_init

	; inicializace displeje
	call init_disp
	call clear_disp

	; test zobrazení 16bitového čísla (číslo 54321)
;	ldi r16, 0x31
;	push r16
;	ldi r16, 0xD4
;	push r16
;	call show_dec2

	; test zobrazení 16bitového čísla (číslo 123)
;	ldi r16, 123
;	push r16
;	ldi r16, 0
;	push r16
;	call show_dec2

	; test zobrazení 16bitového čísla (číslo 0)
;	ldi r16, 0
;	push r16
;	ldi r16, 0
;	push r16
;	call show_dec2

	; vstup
	ldi r16, 6

cykl:

	; vypocet
	push r16
	call fib
	call show_dec1
	
	; enter
	call joy_enter
	brne ne_enter
	push r16
	call show_dec1
	call joy_uvolnit_enter
ne_enter:	

	; nahoru
	call joy_nahoru
	brne ne_nahoru
	inc r16
	push r16
	call show_dec1
	call joy_uvolnit_nahoru
ne_nahoru:	

	; dolu
	call joy_dolu
	brne ne_dolu
	dec r16
	push r16
	call show_dec1
	call joy_uvolnit_dolu
ne_dolu:	

	jmp cykl


; další pomocné procedury
.include "skd.inc"
.include "skd_lcd.inc"
.include "skd_joystick.inc"

