PIC16F84A och PCLATH
Postat: 26 juli 2005, 16:42:34
Jag har skivit en del på ett program nu, och det beter sig konstigt beroende på var jag lägger subrutinerna någon stans..
Jag misstänkter att det har med att adressering via en call endast kan hoppa 255 bytes?
Kan registret PCLATH lösa mitt problem.
Jag hittade dessa macron, men dom är gjorda för 16f877.
Jag misstänkter att det har med att adressering via en call endast kan hoppa 255 bytes?
Kan registret PCLATH lösa mitt problem.
Jag hittade dessa macron, men dom är gjorda för 16f877.
Kod: Markera allt
xgoto MACRO label
if label & 0x800
bsf PCLATH, 3
else
bcf PCLATH, 3
endif
goto label
ENDM
xcall MACRO label
LOCAL testlabel
testlabel
if label & 0x800
bsf PCLATH, 3
else
bcf PCLATH, 3
endif
call label
if testlabel & 0x800
bsf PCLATH, 3
else
bcf PCLATH, 3
endif
ENDM