Multiplex 7 segment

Tak jsem trošku upravil odpory ale dělá to pořád, sice už ne tak moc. Ale vypl jsem multiplex a jednu segmentovku ovládám přímo přes porty a nedělá to. Spínám postupně A, A+B atd a jas neklesá. Když zapnu multiplex, tak to zase začne dělat. Chyba v programu! Ale jaká? Přerušení každých 2,4ms

[code]
PK
ADDWF PCL,F ; a pricist k PCL
; hgfedcba 1 sviti
retlw b’00000001’ ;0
retlw b’01000000’ ;1
retlw b’00100000’ ;2
retlw b’00010000’ ;3
retlw b’00001000’ ;4
retlw b’00000100’ ;5
retlw b’00000010’ ;6
retlw b’10000000’ ;7

PA
addlw .230 ;255 - 0x19 = 243
btfss STATUS,C
goto $+3
movlw 0x0B
goto $+2
movf INDF,w
ADDWF PCL,F ; a pricist k PCL
; hgfedcba 1 sviti

retlw	b'00111111'	;0
retlw	b'00000110'	;1
retlw	b'01011011'	;2
retlw	b'01001111'	;3
retlw	b'01100110'	;4
retlw	b'01101101'	;5
retlw	b'01111101'	;6
retlw	b'00000111'	;7
retlw	b'01111111'	;8
retlw	b'01101111' ;9
retlw	b'00000000' ; 0x0A NIC
retlw	b'01000000' ; 0x0B -
retlw	b'00000100' ; 0x0C _
retlw	b'00000100' ; 0x0D _
retlw	b'00000100' ; 0x0E _
retlw	b'00000100' ; 0x0F _

retlw	b'10111111'	;0x10 0.
retlw	b'10000110'	;0x11 1.
retlw	b'11011011'	;2
retlw	b'11001111'	;3
retlw	b'11100110'	;4
retlw	b'11101101'	;5
retlw	b'11111101'	;6
retlw	b'10000111'	;7
retlw	b'11111111'	;8
retlw	b'11101111'   ;9

;přerušení od přetečení časovače0
IT0IF
movlw .100
movwf TMR0
BCF INTCON,T0IF ;vynulovat příznak
incf DISPORADI,f
movlw .8
subwf DISPORADI,w
btfss STATUS,Z
goto $+2
clrf DISPORADI
Anody
movf DISPORADI,w
call PK
movwf PORTC
Katody
movlw DIS0
addwf DISPORADI,w
movwf FSR
movf INDF,w
call PA
movwf PORTD

;********************************
;dokončit přerušení
;--------------------------------[/code]