Looking at the code in post 119, you seem to be having trouble with org.
It's only for program memory, so don't use it in cblock for variables. If you really want a 2 byte gap, either add a couple of bytes of dummy variable (dummy:2), extend an existing variable (filcof1:10*2+2) or use
endc
cblock 0x118
for the actual program, if you don't put org 0x00 at the start, it turns out that that is the default anyway.
Your: filter1 dw 17,-25,17,-460,246,2498,-4900,2498,-469,247
ends up starting in program location 0x00 and as the PIC doesn't know any better it will try to execute the data, which usually isn't a great idea.
Either put it somewhere high up where the program won't reach eg.
org 0xff00
filter1 dw 17,-25,17,-460,246,2498,-4900,2498,-469,247
org 0x00
normal code goes here
or put it somewhere impossible for execution to get to, eg.
org 0x00
goto init
org 0x04
interrupt
...
retfie
filter1 dw 17,-25,17,-460,246,2498,-4900,2498,-469,247
init
It's only for program memory, so don't use it in cblock for variables. If you really want a 2 byte gap, either add a couple of bytes of dummy variable (dummy:2), extend an existing variable (filcof1:10*2+2) or use
endc
cblock 0x118
for the actual program, if you don't put org 0x00 at the start, it turns out that that is the default anyway.
Your: filter1 dw 17,-25,17,-460,246,2498,-4900,2498,-469,247
ends up starting in program location 0x00 and as the PIC doesn't know any better it will try to execute the data, which usually isn't a great idea.
Either put it somewhere high up where the program won't reach eg.
org 0xff00
filter1 dw 17,-25,17,-460,246,2498,-4900,2498,-469,247
org 0x00
normal code goes here
or put it somewhere impossible for execution to get to, eg.
org 0x00
goto init
org 0x04
interrupt
...
retfie
filter1 dw 17,-25,17,-460,246,2498,-4900,2498,-469,247
init