If i understand things right, you are looking for a way to get the current offset. I did something similar when i was playing with interrupts.
ldy #high(HERE)
lda #low(HERE)
bne skip
dey
skip:
dec A
phy
pha
jmp [vector]
HERE:
It emulates the behaviour of the jsr intruction. This code doesn't work if you put it in a different bank or in ram. mkit is using a cleaner solution.
dummy_interrupt_vector:
; some code
jsr user_code ; push pc-1 into the stack an jump to user_code
; the 'rts' in the code pointed by vector will bring us back here
rti ; end of the interrupt vector
user_code:
jmp [vector] ; let's jump to user defined code
The user defined vector must finish with a 'rts'. As we had a 'jsr' to user_code, the 'rts" will bring us back to the instruction coming after the 'jsr'.
Anyway, in pceas there no keywords to get the current address but you can use a label as a standard immediate value.