.include "m8def.inc" .def temp = r16 .def ergebniss = r17 ldi temp, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse out SPL, temp ldi temp, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse out SPH, temp ldi temp, 0xFF out DDRB, temp ;B out loop: ldi r20, 0x0F PUSH r20 ldi r21, 0x0F PUSH r21 rcall addiere POP ergebniss POP temp out PORTB, ergebniss rjmp loop addiere: PUSH ZH PUSH ZL ;Zeiger wird gesichert PUSH r20 PUSH r21 ;Register wird gesichert IN ZL, SPL IN ZH, SPH ADIW ZH:ZL, 8 ; LD r20, Z LD r21, -Z ADD r20, r21 ST Z, r20 POP r21 POP r20 POP ZL POP ZH ret ende: rjmp ende