.include "m8def.inc"
.def temp1 = r16
.def temp2 = r17
.def temp3 = r18
ldi temp1, LOW(RAMEND)
out SPL, temp1
ldi temp1, HIGH(RAMEND)
out SPH, temp1
ldi temp1, 0xFF
out DDRD, temp1
rcall lcd_init
rcall lcd_clear
ldi ZL, LOW(str1*2)
ldi ZH, HIGH(str1*2)
ldi r21, 8
ldi r20, '0'
initloop: st Z+, r20
dec r21
cpi r21, 0
brne initloop
ldi ZL, LOW(str1*2)
ldi ZH, HIGH(str1*2)
ldi r20, 75
ldi r21, 8
adiw ZL, 8
binloop: mov r24, r20
andi r24, 0b00000001
adiw r24, '0'
st -Z, r24
lsr r20
dec r21
cpi r21, 0
brne binloop
ldi ZL, LOW(str1*2)
ldi ZH, HIGH(str1*2)
ldi r21, 8
outloop: ld r20, Z+
mov temp1, r20
rcall lcd_data
dec r21
cpi r21, 0
brne outloop
loop:
rjmp loop
.include "lcd-routines.asm"
.DSEG
str1: .byte 20