. . . ;------------------------------------------------------------------------------- Menu7: ldi zl,low(menue71*2) ldi zh,high(menue71*2) rcall msg_out ldi temp1,zeile2 ; setzte Cursor in zweite Zeile (Anfang) rcall sendebefehl ; Befehl senden rcall msg_out ldi temp1,zeile3 ; setzte Cursor in dritte Zeile (Anfang) rcall sendebefehl ; Befehl senden rcall msg_out ldi temp1,zeile4 ; setzte Cursor in vierte Zeile (Anfang) rcall sendebefehl ; Befehl senden rcall msg_out ret ;------------------------------------------------------------------------------- Menu8: ldi zl,low(menue81*2) ldi zh,high(menue81*2) rcall msg_out ldi temp1,zeile2 ; setzte Cursor in zweite Zeile (Anfang) rcall sendebefehl ; Befehl senden rcall msg_out ldi temp1,zeile3 ; setzte Cursor in dritte Zeile (Anfang) rcall sendebefehl ; Befehl senden rcall msg_out ldi temp1,zeile4 ; setzte Cursor in vierte Zeile (Anfang) rcall sendebefehl ; Befehl senden rcall msg_out ret ;------------------------------------------------------------------------------- . . . ;------------------------------------------------------------------------------- msg_out: ldi temp4,20 loop_msg: lpm ; lade R0 mit Wert auf der der Z-Pointer zeigt mov temp1,r0 ; kopiere R0 in temp1 rcall sendedaten ; Daten senden inc zl ; Incrementiere Z-Pointer LOW brcc no_carry ; Springe falls Carryflag gelöscht inc zh ; Incrementiere Z-Pointer High no_carry: dec temp4 ; Decrementiere temp4 brne loop_msg ; vergleiche auf Null, wenn nicht springe ret ;------------------------------------------------------------------------------- . . . ;------------------------------------------------------------------------------- menue71: .db " Licht 1 " menue72: .db "--------------------" menue73: .db " An = xx:xx " menue74: .db " Aus = xx:xx " ;-------------------------------------------- menue81: .db " Licht 2 " menue82: .db "--------------------" menue83: .db " An = xx:xx " menue84: .db " Aus = xx:xx " ;--------------------------------------------