Pregunta

He leído gran parte de la documentación del brazo pero aún tengo problemas para decodificar una instrucción BLX. Aquí hay dos ejemplos:

__text:0000347C 02 F0 B2 ED                 BLX             _objc_msgSend

__text:0000469C 01 F0 A2 EC                 BLX             _objc_msgSend

Se supone que ambos van al mismo lugar, la dirección virtual 0x5fe4 como se ve aquí:

__symbolstub1:00005FE4 38 F0 9F E5                 LDR             PC, =__imp__objc_msgSend

Sin embargo, no puedo entender qué cálculo se usa para obtener de las dos direcciones anteriores (0x347c y 0x469c) usando sus bytes de instrucción. Según la documentación del brazo, se supone que es un salto relativo, usando un cambio correcto en 2, pero los números no funcionan.

¿Alguien puede ayudar?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top