	li W0 200
	output 8 W0	; set period to 200

	; **** WATCH ****
	
; registers
	; 0 : seconds (units)
	; 1 : seconds (tens)
	; 2 : minutes (units)
	; 3 : minutes (tens)
	; 4 : hours   (units)
	; 5 : hours   (tens)
	; 6 : hours   (total)

	; constants : for more speed

	; 8 : 1
	; 9 : 10
	; 10 : 6
	; 11 : 24

; RAM
	; 0-9 : contains 7 segments conversion for 0-9

; outputs
	; 0-5 : idem registers but transformed in 7-segments output

	xor W0 W0 W0	; clear W0
	xor W1 W1 W1	; clear W1
	xor W2 W2 W2	; clear W2
	xor W3 W3 W3
	xor W4 W4 W4
	xor W5 W5 W5
	xor W6 W6 W6

	li W8 1
	li W9 10
	li W10 6
	li W11 24

	; Initialize RAM (see above)
	li W14 0
	li W15 63
	sh W14 W15
	li W14 1
	li W15 6
	sh W14 W15
	li W14 2
	li W15 91
	sh W14 W15
	li W14 3
	li W15 79
	sh W14 W15
	li W14 4
	li W15 102
	sh W14 W15
	li W14 5
	li W15 109
	sh W14 W15
	li W14 6
	li W15 125
	sh W14 W15
	li W14 7
	li W15 7
	sh W14 W15
	li W14 8
	li W15 127
	sh W14 W15
	li W14 9
	li W15 111
	sh W14 W15

incseconds:
	la W14 labelsleep

	addu W0 W0 W8	; increment seconds units
	xor W15 W9 W0
	jmpnz W14	; jump if no seconds units overflow

	xor W0 W0 W0	; clear seconds units
	addu W1 W1 W8	; increment seconds tens
	xor W15 W10 W1
	jmpnz W14	; jump if no seconds tens overflow

	xor W1 W1 W1	; clear seconds tens
	addu W2 W2 W8	; increment minutes
	xor W15 W9 W2
	jmpnz W14	; jump if no seconds units overflow

	xor W2 W2 W2	; clear minutes units
	addu W3 W3 W8	; increment minutes tens
	xor W15 W10 W3
	jmpnz W14	; jump if no minutes tens overflow

	la W13 clearhour

	xor W3 W3 W3	; clear minutes tens
	addu W4 W4 W8	; increment hours units
	addu W6 W6 W8	; increment hours total
	xor W15 W11 W6
	jmpz W13	; it's 24 o'clock -> reset the watch
	xor W15 W9 W4
	jmpnz W14	; jump if no hours units overflow

	xor W4 W4 W4	; clear hours units
	addu W5 W5 W8	; increment hours tens
	jmp W14		; jump because no hours tens overflow can occur here

clearhour:
	xor W6 W6 W6
	xor W4 W4 W4
	xor W5 W5 W5

labelsleep:
	lh W14 W5
	output 5 W14
	lh W14 W4
	output 4 W14
	lh W14 W3
	output 3 W14
	lh W14 W2
	output 2 W14
	lh W14 W1
	output 1 W14
	lh W14 W0
	output 0 W14	; it's here that watch is printed
	la W14 incseconds
	sleep
	jmp W14
