Assembler directive help

Hi Gurus
I have written some asm that will be relocatable but am stuck on a problem accessing a table as follows
ASM_table DCB 1,2,3,4,5
and am referencing it using
ldr r5,=ASM_table
ldrb r1,[r5,r0]
This produces a pc relative lookup, but uses a fixed address at the end of the code to get the table, ie
ldr r5,[pc,#0x222]
this is not really acceptable to relocatable code, as it uses a fixed addess within a lookup table. What I would ideally like (and I'm not sure of the way of doing this is)
add r5,pc,-60
which will give me the address of the table, but without having to do a lookup and is fully relocateable, providing the table stays the same distance away from the code.
I don't see why this isn't possible, but I dont know the syntax on how to get the assembler to produce this code, rather than the first code which it currently produces.
I hope I've explained that clearly enough
Thanks
Glen.

I have written some asm that will be relocatable but am stuck on a problem accessing a table as follows
ASM_table DCB 1,2,3,4,5
and am referencing it using
ldr r5,=ASM_table
ldrb r1,[r5,r0]
This produces a pc relative lookup, but uses a fixed address at the end of the code to get the table, ie
ldr r5,[pc,#0x222]
this is not really acceptable to relocatable code, as it uses a fixed addess within a lookup table. What I would ideally like (and I'm not sure of the way of doing this is)
add r5,pc,-60
which will give me the address of the table, but without having to do a lookup and is fully relocateable, providing the table stays the same distance away from the code.
I don't see why this isn't possible, but I dont know the syntax on how to get the assembler to produce this code, rather than the first code which it currently produces.
I hope I've explained that clearly enough

Thanks
Glen.