El fallo es que como te dije antes cargas el valor del offset no el offset.
Quita ldr r0,[r0,#0x0], porque eso te hace cargar los valores de ese offset. (No el offset, el offset ya lo has cargado antes. Es decir, con eso has cargado el valor de la variable 8000, y tu lo que quieres solamente es su offset, entonces basta solo con el ldr r0,.var , asi ya cargas el offset. Lo otro es para saber los bytes que contiene ese offset -valor de variable vamos-)
Y despues de cargar en r1 la otra var, COMO QUIERES OBTENER SU VALOR, Entonces SI has de poner LDR R1, [R1,#0x0].
Veo que te lias con la manera de cargarlo, es lioso pero una vez entendido te quita muchos problemas.
-si quieres solo la direccion haz ldr rx,.offset
-si quieres valores de esa direccion es paso anterior + ldr rx,[rx,#0x0] (siempre pon ldr aunque cargues 4 bytes, luego para meterlos puedes modificarlo com strb o strh)
Y si es para un cmp, entonces si, en ves de ldr rx,[rx,#0x0] usa ldrb.