test.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

main:
rcall lcd_init
ldi r16, 'd'
rcall lcd_data
ldi r16, 'a'
rcall lcd_data
ldi r16, 'v'
rcall lcd_data
ldi r16, 'i'
rcall lcd_data
ldi r16, 'd'
rcall lcd_data
ldi r16, '@'
rcall lcd_data
ldi r16, 'w'
rcall lcd_data
ldi r16, 'w'
rcall lcd_data
ldi r16, 'w'
rcall lcd_data
ldi r16, '.'
rcall lcd_data
ldi r16, 'd'
rcall lcd_data
ldi r16, 'v'
rcall lcd_data
ldi r16, 'a'
rcall lcd_data
ldi r16, 'j'
rcall lcd_data
ldi r16, 'd'
rcall lcd_data
ldi r16, 'a'
rcall lcd_data
ldi r16, '.'
rcall lcd_data
ldi r16, 'd'
rcall lcd_data
ldi r16, 'e'
rcall lcd_data
mainend: rjmp mainend

text:
           .db "Test",0                ; Stringkonstante, durch eine 0
                                       ; abgeschlossen

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