jo vielen dank nochmal
nu klappts auch mit dem PIC Simulator

Code:
		LIST P=16F628, R=DEC    ; Use the PIC16F628 and decimal system 

        #include "P16F628.INC"  ; Include header file 

        
     

        ORG    0x000            ; Program starts at 0x000 
;
; --------------------------------
; SET ANALOG/DIGITAL INPUTS PORT A
; --------------------------------
;
		movlw 7			; lädt 7 in das W-Register
		movwf CMCON		; 0x1F = 7 

; ---------------- 
; INITIALIZE PORTS
; ---------------- 
; 
		movlw b'00100000'	;
		movwf PIE1			; USART Receive Interrupt Enable Bit
	
		movlw b'00000000'   ; lädt 0 in das W-Rgeister
        movwf PORTA			; alle low an PORTA
        
        movlw b'00000100'	; W-Register
        movwf PORTB			; lädt in 0x06

        bsf STATUS,RP0      ; im Register Status wird das RP0 bit auf 1 gesetzt

        movlw 0xFE			; schreibt den wert FE in W
        movwf TRISA			; bis auf RA0 alle Eingäng(high)
        movlw 0xFF 			; alle Eingänge RB1(RX)=Eingang 
        movwf TRISB

; ------------------------------------
; SET BAUD RATE TO COMMUNICATE WITH PC
; ------------------------------------
; Boot Baud Rate = 9600, No Parity, 1 Stop Bit
;
        movlw 0x19              ; 0x19=9600 bps (0x0C=19200 bps)
        movwf SPBRG
        movlw b'00000100'       ; brgh = high (2)
        movwf TXSTA             ; schaltet brgh high ein
        bcf STATUS,RP0          ; RAM PAGE 0

        movlw b'10010000'       ; schaltet seriellen port ein 
        movwf RCSTA


;
; ---------
; MAIN LOOP
; ---------
;
	
loop    call receive            ; wait for a char
		call vergleich               
        goto loop
;
; -------------------------------------------
; SIGNALE VON DER RSR232 SCHNITTSTELLE EMPFANGEN
; -------------------------------------------
; This routine does not return until a character is received.
;
receive btfss PIR1,RCIF         ; checkt ob im register PIR1 das RCIF bit (USART Receive Interrupt Flagbit) wenn der receive buffer voll ist geht weiter
        goto receive
		
        movf RCREG,W            ; speichert das empfangende in W
        return
;
; -------------------------------------------------------------
; "VERGLEICHT" DIE BEIDEN SIGNALE
; -------------------------------------------------------------
;

vergleich 
	sublw 1
	bcf PORTA,0x0
	btfss STATUS,Z			;könnte auch mit einer Speicherzelle subtrahier
	return

	bsf PORTA,0x0 
	return
			
	END
ist echt besser so zu vergleiche so kann eigentlich jedes bit auswerten
bin mal gespant wie das in der praxis klappt...

in dem code steht ja 1 stopbit no parity ist das standart oder kann man das wo einstellen ?
und sonn watchdog timer sollte man das mit reinnehmen ?

mfg DHigh