Estoy intentando codificar una forma de agregar palabras medias específicas de números de tamaño de palabra en el lenguaje ensamblador ARM. Por ejemplo, digamos que quiero agregar los primeros 4 dígitos de r0 = 0x 3B02 9BA1 y r1 = 0x 0B54 A361 o los 4 dígitos del medio de r0 = 0x3B
LDR r0, =0x3B029BA1;
LDR r1, =0x0B54A361;
LDRH r10, [r1];
Estoy bastante seguro de que será necesario que haya un desplazamiento para la dirección en la tercera línea del código, pero no he superado una media palabra solo para ingresar al registro 10. Cada vez que ejecuto este código, los valores de registro correctos terminan en r0 y r1, pero no aparece nada en r10. Entonces, antes de hacer cualquier otra cosa, solo quiero entender por qué sucede esto.