Habe mich wohl zu früh gefreut. Ich habe jetzt mal den Delay ein wenig verkürzt und schon machen die Leds nicht mehr das was ich will. Hier erst mal der Code:

Code:
#include P16f88.INC 

;*****Set up the Constants**** 

STATUS          equ       03h                              ;Address of the STATUS register 
TRISA           equ       85h                              ;Address of the tristate register for port A 
PORTA           equ       05h                              ;Address of Port A 
COUNT1            equ       20h                              ;First counter for our delay loops 
COUNT2            equ       21h                             ;Second counter for our delay loops 

;****Set up the port**** 

            bsf                STATUS,RP0       ;Switch to Bank 1 
            movlw              00h            ;Set the Port A pins 
            movwf              TRISA          ;to output. 

            clrf               ANSEL 
            bcf                STATUS,RP0       ;Switch back to Bank 0 


			movlw              00h             ;
            movwf              PORTA 

;****Turn the 1st LED on**** 

Start            movlw              04h             ;Turn the Port A LEDs on by first putting it 
                 movwf              PORTA           ;into the w register and then on the port 



             call            Delay 
;2nd LED

 				movlw              08h             ;Turn the Port A LEDs on by first putting it 
             	movwf              PORTA           ;into the w register and then on the port
				call 			Delay

  
;****Delay finished, now turn the LED off**** 

            movlw              00h                  ;Turn the LEDs off by first putting it 
            movwf              PORTA           ;into the w register and then on the port 

           call 			Delay


;****Now go back to the start of the program 

            goto                 Start                 ;go back to Start and turn LEDs on again 

;****Here is our Subroutine 

Delay 
            movlw            5
            movwf            COUNT1      ;Load count1 with init value 
            movlw           5
            movwf            COUNT2      ;Load count1 with init value 
             

Loop1          decfsz              COUNT1,f    ;This second loop keeps the LEDs 
               goto                  Loop1              ;turned off long enough for us to 
               decfsz              COUNT2,f     ;see it turned off 
               goto                  Loop1             ; 
            return 

;****End of the program**** 

         end                                              ;Needed by some compilers, and also 
                                                 ;just in case we miss the goto instruction.

			end                                              ;Needed by some compilers, and also
                                                 ;just in case we miss the goto instruction.
Es soll folgendes passieren:
LED1 an->Pause->LED1 aus und LED2 an->Pause->Neustart
Es passiert aber folgendes:
LED1 an-> Pause->LED1 aus und LED2 an->Pause->LED2 aus und LED1an> Pause->LED1 aus und LED2 an->lange Pause-> Neustart

Woher kommt diese lange Pause alle zwei Durchläufe ?

Wenn ich jetzt den Delay auf deinen ursprünglichen Wert erhöhe, dann
kommen nur zwei Wechsel anstatt drei vor der langen Pause.

LED 1 hängt übrigens an RA2 und LED2 an RA3.