Registrarse

[duda] callasm

Estado
Cerrado para nuevas respuestas.

Shido

comiendo personas
Mi duda es que para llamar una rutiina se usa el comando callasm pero que sigue 0xoffset donde insertaste la rutina o es diferente.
 

CelticFrostie

Sexador de pollos
En efecto, como te han dicho, tienes que llamar al offset +1 byte, es decir, si has metido la rutina en 700000, (sólo pueden meterse en offsets finalizados en 4, 8, 0 o C), debes llamar a 700001.
 

Sayer301!

UnityLord!
Miembro de honor
En general si suele ser +1, pero no siempre, si alguna vez no te funciona con el "+1" prueba sin el.
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
Cuando la rutina es en THUMB, se usa la dirección +1. Y obviamente la rutina tiene que estar en una dirección par (acabada en 0, 2, 4, 6, 8, A, C o E).
Cuando no lo es (ergo, es ARM), se usa sin ese "+1", y tiene que estar en una dirección múltiple de 4 (acabada en 0, 4, 8 o C).
¿Por qué? Por que cuando el procesador lee un bx rN, el último bit de ese registro rN indica el modo en el que va a estar la CPU una vez realizado el salto.
 
Estado
Cerrado para nuevas respuestas.
Arriba