/media/sda-magnetic/david/Dokumente-15/fernuni-hagen/cs-i-ii/old-cs-2-03/quine-mc-cluskey-asm-2021-04-16/ram3.asm


.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 r20, 'z'
            st Z+, r20
            ldi r20, 'b'
            st Z+, r20
            ldi r20, 'h'
            st Z+, r20
            ldi r20, 'v'
            st Z+, r20
            ldi r20, 'a'
            st Z+, r20
            ldi r20, 'l'
            st Z+, r20
            ldi r20, 'o'
            st Z+, r20
            ldi r20, 'k'
            st Z+, r20
            ldi r20, 'p'
            st Z+, r20
            ldi r20, 'q'
            st Z+, r20
            ldi r20, 'n'
            st Z+, r20
            ldi r20, 'x'
            st Z+, r20
            ldi r20, 'e'
            st Z+, r20


           ldi ZL, LOW(str1*2) 
           ldi ZH, HIGH(str1*2)
            ldi r21, 13
loop2:      mov r22, r21
            mov XL, ZL
            mov XH, ZH
loop3:      ld r24, X
            ld r25, Z
            cp r24, r25
            brge goon
            st X, r25
            st Z, r24
goon:       ld r24, X+
            dec r22
            cpi r22, 0
            brne loop3
            ld r24, Z+
            dec r21
            cpi r21, 0
            brne loop2
            
            
            
           ldi ZL, LOW(str1*2) 
           ldi ZH, HIGH(str1*2)            
            ldi r21, 13
loop1:      ld r20, Z+
            mov temp1, r20     
            rcall lcd_data
            dec r21
            cpi r21, 0
            brne loop1
           


loop:
           rjmp loop

.include "lcd-routines.asm"
           

.DSEG

str1: .byte 0x40