Hallo Leute,

ich bin neu hier im Forum und vor allem ein Neuling was PICs angeht.
Darum hab ich auch Probleme mit dem folgenden Code:

Code:
;**************************************************************
;*
;* Pinbelegung
;*	----------------------------------	
;*	PORTA: 	
;*	 	Pin	Funktion
;*		0	Ausgang
;*		1 	Ausgang
;*		2 	Ausgang
;*		3 	Ausgang
;*		4 	Ausgang
;*		5 	Ausgang
;*
;*	PORTB:	
;*	 	Pin	Funktion
;*		0	Ausgang
;*		1 	Ausgang
;*		2 	Ausgang
;*		3 	Ausgang
;*		4 	Ausgang
;*		5 	Ausgang
;*		6 	Ausgang
;*		7 	Ausgang
;*
;*	PORTC:
;*		NN
;*		
;*
;**************************************************************
; Includedatei für den 16F84 einbinden

	list p=16f876
	#include <P16f876.INC>

	ERRORLEVEL      -302    ;	SUPPRESS BANK SELECTION MESSAGES

;**********************************************************
; Variablennamen vergeben

dx			EQU	0x20
dy			EQU	0x21

	org	0			; 	Programmstart immer bei 0

	goto	init			; 	Init ausführen


;**********************************************************
; Anfangsinitialisierung

init
	CLRF	dx			; 	Schleifenende
	CLRF	dy			;	Schleifenzaehler

	MOVLW 	H'55'			; 	Schleifenlaenge ins W-Register setzen`
	MOVWF	dx				;	Schleifenlaenge aus W-Register nach dx

	BSF	STATUS, RP0		;	auf Bank 1 umschalten
	BCF	STATUS, RP1		;	
	MOVLW	B'00000000'		;	PortA alle output
	MOVWF	TRISA
	MOVLW	B'10001111'		;	PortA dig output
	MOVWF	ADCON1	
	MOVLW	B'00000000'		;	PortB alle output
	MOVWF	TRISB
	
	
	BSF	STATUS, RP0		; 	auf Bank 0 zurückschalten
	BCF	STATUS, RP1		; 
	CLRF	PORTB			; 	alle Port A Latches ausschalten
	CLRF	PORTA			;	alle Port B Latches ausschalten

;**********************************************************
; Hauptprogrammschleife

Main
	MOVF	dx,0			;	lädt Schleifenende 
	MOVWF	dy			;	setzt Schleifenzähler

SchleifeBegin
	MOVF	dy,0			; 	hohle Schleifenzähler ins W-Register

	NOP
	MOVWF	PORTA			; 	W-Register auf PORT A ausgeben
	
	XORLW 	H'00'			;	Komplement bilden
	MOVWF	PORTB			;	Komplement auf PORT B ausgeben
	
	DECF	dy,1			; 	dy um eins erniedrigen
	MOVF	dy,1			; 	Prüfen auf 0 und Zero-Flag setzen
	BNZ	SchleifeBegin

	NOP				; 	ende
	
	end
Irgendwie läuft das Alles nicht so richtig!

Könnt ihr mir helfen?
Danke Vinc