Hi Leutz habe ein Problem und komme nicht weiter

und zwar geht es um dieses Programm is klar is nicht vollständig aber es funzt ja so oder so nicht

Warum ????
list p=16f877a
#include <P16F877.inc>

save equ 0x20
;**********************Initalisieren************** *****************

bsf STATUS, RP0
movlw B'11000000'
movwf TRISA
clrf TRISB
clrf TRISC
clrf TRISD
movlw B'01000000'
movwf ADCON1
bcf STATUS, RP0
movf ADCON0, B'11000001'
;************************INI ende**********************************

main

bsf STATUS, RP0
movlw B'11000000'
movwf INTCON
movlw B'01000000'
movwf PIE1
bcf STATUS, RP0
bsf ADCON0, 2
movlw B'01000000'
movwf PIR1
btfss PIR1, 6
goto main

movfw ADRESH
movwf save
bsf STATUS, RP0
bcf INTCON, 7
bcf PIE1, 6
bcf STATUS, RP0
bcf PIR1, 6
goto main

Wenn PIR1 und PIE1 den 6. BIT auf HIgh haben, dann springt das Programm was eigentlich unmöglich ist auf clrf TRISC und nun noch mal die Frage wieso ?????