Puff, vaya lío xD
A ver, yo tengo los dos primeros bytes de un offset en la variable 0x8000 y los otros dos en la variable 0x8001, es decir, (0x8000)(0x8001) sería un offset (4 bytes). Entonces, para leer esos 4 bytes, utilizo esto:
ldr r0, .var_8000
ldr r0, [r0,#0x0]
Supuestamente, con eso, tendría que irse al offset de la variable 0x8000 y guardar los 4 bytes a partir de esa dirección, con lo que ya tendría el offset guardado en r0.
Ahora lo que hago es guardar en r1 el offset de la variable 0x8004. Y quiero escribir el byte (no los dos bytes de la variable, sólo el primero) en el offset que tengo guardado en r0, luego pongo esto:
ldr r1, .var_8004
strb r1, [r0,#0x0]
Ponga eso o ponga también "ldrb r1, [r1]" para coger el valor del byte (no estoy seguro si es necesario), no funciona, porque luego se supone que "strb r1, [r0,#0x0]" me debería escribir el byte que tengo en r1 en la dirección que tengo en r0, pero no me lo hace.