ASM questions

Hi everybody!
I'm trying to debug a long assembly function with embedded visual C 3.0, using as device an iPAQ 3650 (strongarm), and I've run into some (conceptual) problems when doing so:
the problem is that, in example, my asm function starts at 0x1e01a000, and I've got a pool at 0x1e01a100.
I do an "adr r0,pool" to load the pool address, adr pseudoinstruction turns into a add r0,pc,#f8 (aprox), but r0 incorrectly loads a 0x0001a100 value. (instead of 0x1e01a100)
The problem is afterwards, I do a "ldr r1,[r0]" , and r1 gets the value at [r0] under "step by step" debugging, but when I run it with F5 from the debugger, a memory access error appears (it hangs the iPAQ if executed directly there)
that could be explained with the 26 bits address space, but the problem is I thought Strongarm was no longer using 26 bits address space... and anyway, I don't know if ANDing the address is a feature of strongarm (supposing the 26 bits thingy), or it's a debugger behaviour?
what's happening here? which one of my concepts is wrong? Do I have missed something in the .asm header?
TIA :)
Kak
I'm trying to debug a long assembly function with embedded visual C 3.0, using as device an iPAQ 3650 (strongarm), and I've run into some (conceptual) problems when doing so:
the problem is that, in example, my asm function starts at 0x1e01a000, and I've got a pool at 0x1e01a100.
I do an "adr r0,pool" to load the pool address, adr pseudoinstruction turns into a add r0,pc,#f8 (aprox), but r0 incorrectly loads a 0x0001a100 value. (instead of 0x1e01a100)
The problem is afterwards, I do a "ldr r1,[r0]" , and r1 gets the value at [r0] under "step by step" debugging, but when I run it with F5 from the debugger, a memory access error appears (it hangs the iPAQ if executed directly there)
that could be explained with the 26 bits address space, but the problem is I thought Strongarm was no longer using 26 bits address space... and anyway, I don't know if ANDing the address is a feature of strongarm (supposing the 26 bits thingy), or it's a debugger behaviour?
what's happening here? which one of my concepts is wrong? Do I have missed something in the .asm header?
TIA :)
Kak