Kód pro práci s EEPROM nefunguje, kde je chyba?

Zdravím
Mám tady kousek kodu
kód:

          MOVWF CfgAdr            ;adresa bunky eepromky
         XORLW 64                   ;velikost eepromky
         BTFSS STATUS,Z              ;Kdyz je konec eepromky tak tak
         CLRF CfgAdr                ;nastav adresu eepromky na 0

mě to nechce fungovat kde dělám chybu?díky

:arrow_right: administrator: přejmenováno z "Funkce kódu"

jestli chces aby ti tenhle kousicek kodu fungoval tak misto MOVWF CfgAdr dej MOVF CfgAdr,W

treba takle

START	
 MOVF 	CfgAdr,W           ;adresa bunky eepromky
 ;BCF  	STATUS,Z	
 XORLW 	64                   ;velikost eepromky
 BTFSS 	STATUS,Z              ;Kdyz je konec eepromky tak tak
 GOTO	$+3
 CLRF 	CfgAdr                ;nastav adresu eepromky na 0 
 GOTO	$
 INCF	CfgAdr,F             ; adresa eepromky +1
 GOTO	START

	   END

Instrukce XORLW provede exklusivní součet bitů registru W a konstanty.
Stejné bity = 0, rozdílné = 1.

01000000
XOR
01000000

00000000

Pokud je výsledek 0, STATUS,Z = 1
Takže místo instrukce BTFSS dej BTFSC.

Jak zajistit rozsah CfgAdr 0 až 63
jde také takto:

MOVLW B’00111111’
ANDWF CfgAdr,F ;1&1=1, ostatní=0