Hi Scotch,

hier der komplette Code.
Da ich mich nicht mit Assebler beschäftige kann ich Dir bei der Lösung aber nicht weiter helfen! Ich hoffe, der Autor des Progs. hat nichts dagegen, dass ich den Code hier reinstelle ??

Code:
;******************************************************************************
; Verwendete Hardware:
; AVR Testboard Board mit 90S2313 Prozessor
;
; Erstellt: Dezember 2001, Klaus Leidinger
;
; Programm zum Testen der AVR Board Hardware.
; Lauflicht an beiden Ports. Achtung: PortD.7 gibt es nicht ;-)
; 
; Das Timing erfolgt über Interrupts.
;
;******************************************************************************

.include "2313def.inc"	;Festlegen des verwendeten Chips

.def Anzeige=r19
.def temp1=r18
.def result=r16
.def temp=r17 

;Werte für 0,5 sec Timer bei 4MHZ Quarz
;.equ T1Lval=0xee
;.equ T1Hval=0x85
;Werte für 0,5 sec Timer bei 8MHZ Quarz
.equ T1Lval=0xdc	
.equ T1Hval=0x0b

; Start des Programmcodes
.cseg

.org $0000 
	rjmp reset		;Reset extern oder Watchdog
.org $0001 
	reti ;rjmp INT0_int	;Externer Interrupt INT0
.org $0002 
	reti ;rjmp INT1_int	;Externer Interrupt INT1
.org $0003 
	reti ;rjmp Timer1_capt	;Timer 1 capture Mode
.org $0004 
	reti ;rjmp Timer1_comp	;Timer 1 compare Mode
.org $0005 
	rjmp Timer1_over	;Timer 1 overflow
.org $0006 
	reti ;rjmp Timer0_over	;Timer 0 overflow
.org $0007 
	reti ;rjmp UART_rxc	;Serial RX complete Handler
.org $0008 
	reti ;rjmp UART_dre	;Serial UDR empty Handler
.org $0009 
	reti ;rjmp UART_txc	;Serial TX complete Handler
.org $000A 
	reti ;rjmp ANA_comp	;Analog comperator
	
.db "Testprogramm für Microcontroller Board AVR 90S2313 Version 1.0"


;Beginn des Programmcodes

reset:	ldi r16,low(RAMEND)
	out SPL,r16

	ldi r16,0x00
	out TCCR1A,r16  	;Timer 1 disconnect OC1 + PWM
	ldi r16,0x03
	out TCCR1B,r16		;Timer 1 prescaling 1/64
	ldi r16,T1Lval
	out TCNT1L,r16		;Timer low value
	ldi r16,T1Hval
	out TCNT1H,r16		;Timer high value
	ldi r16,0x80
	out TIMSK,r16		;Timer1 overflow enabled
	sei			;Enable global Interrupts
	
        ldi result,$ff          ;Port B -> output
        out DDRB,result
        out DDRD,result		;Port D -> output	

Startprog:
	
	sei		;Enable global Interrupts
;Auswahl ob High oder Low geschoben wird
	ldi Anzeige,$0		;LED on (Low)
	sec			;set Carry (H wird durch die Ports geschoben)
;	ldi Anzeige,$ff		;LED off (High)
;	clc			;clear Carry (L wird durch die Ports geschoben)

loop:	out PORTB,Anzeige
	out PORTD,Anzeige
	rjmp loop		;Timing durch Interrupts
	
			

;Beginn der Unterprogramme und Interruptroutinen
         
Timer1_over:			;Interrupt 500ms
	rol Anzeige		;Zählerstand 
	ldi r16,T1Lval		;Timer reload
	out TCNT1L,r16		;Timer low value
	ldi r16,T1Hval
	out TCNT1H,r16		;Timer high value
	reti

.EXIT ;letzte Zeile des Programmes