/media/sda-magnetic/david/Dok-15-2023-11-27/fernuni-hagen/cs-i-ii/fsm/fsm/x86-expand/asm.asm


.include "m8def.inc"
 
.def temp1 = r16
.def temp2 = r17
.def temp3 = r18
 
 
           ldi temp1, LOW(RAMEND)      ; LOW-Byte der obersten RAM-Adresse
           out SPL, temp1
           ldi temp1, HIGH(RAMEND)     ; HIGH-Byte der obersten RAM-Adresse
           out SPH, temp1
 
           rcall lcd_init              ; Display initialisieren
           rcall lcd_clear             ; Display löschen
 
           ldi ZL, LOW(text*2)         ; Adresse des Strings in den
           ldi ZH, HIGH(text*2)        ; Z-Pointer laden

           ldi r19, 'c'
            ldi r20, 10
loop1:      st Z+, r19
            inc r19
            dec r20
            cpi r20, 0
            brge loop1
            
    
            

           ldi XL, LOW(text*2)         ; Adresse des Strings in den
           ldi XH, HIGH(text*2)        ; Z-Pointer laden

            ldi r19, 'a'
            mov r0, r19
        st X+, r0
st X+, r0
st X+, r0
st X+, r0
st X+, r0
st X+, r0
st X+, r0
st X+, r0
ldi r19, 0
mov r0, r19
st X+, r0


           ldi ZL, LOW(text*2)         ; Adresse des Strings in den
           ldi ZH, HIGH(text*2)        ; Z-Pointer laden

           rcall lcd_flash_string      ; Unterprogramm gibt String aus der
                                       ; durch den Z-Pointer adressiert wird
loop:
           rjmp loop

.DSEG  
text:   .BYTE 30                ; Stringkonstante, durch eine 0
                                       ; abgeschlossen  

.include "lcd-routines.asm"            ; LCD Funktionen