En resumen, para acceder al byte del weather con instrucciones ASM deberías hacer algo similar a esto:
ldr r0, =0x03005008
ldr r0, [r0]
add r0, r0, #0x2E
ldrb r0, [r0]
No obstante, decirte que si pretendes cambiar el valor del byte de está manera, el tiempo no va a modificarse de forma inmediata. Supongo que lo sabrás pero en scripting existe el comando "doweather" que ejecuta el tiempo que has "seteado". Ese comando "doweather" no es más que una llamada a una rutina ASM, en concreto la situada en la siguiente dirección: "0x806AA24". Es por esto que tendrás que ejecutar esta rutina ASM para que se aplique el tiempo (lo que hace está rutina es cargar el weather en función del contenido del byte).
Por si también te interesase, la función resetWeather está en "0x806AA18".
Ya me contarás si te sirve y para que lo quieres xDD tengo curiosidad.