Hi Stephen, I have also encoutered this kind of error. The reason I believe is, that the RES directive defines space in program memory, while the EQU directive tries to use this symbol in data memory. Although not stated explicitly, MPASM sorts the labels into classes (program, data, #defines, maybe others). Try to change the RES directive into something like: CBLOCK RxBuf ENDC CBLOCK RxBuf+6 Other variables ENDC EQUs go here This cured my problems. Regards, Josef >Error[115] PIC03V10.ASM 79 : Duplicate label ("PK_ADDR" or redefining symbol that cannot be redefined) > >It seems to be complaining about: >PK_ADDR equ RxBuf+0 >PK_LEN equ RxBuf+1 >PK_CMD equ RxBuf+2 >PK_DATA1 equ RxBuf+3 >PK_DATA2 equ RxBuf+4 >PK_CHK equ RxBuf+5 > >RxBuf is being used as a 6byte buffer for serial input, previously defined with RxBuf res 6. PK_ADDR is the first byte (file register) within the buffer, PK_LEN is the second etc. If this method isn't allowed by MPASM, how do I directly access the individual bytes within the buffer ?