He tratado de acoplar tu rutina de recalcular datos a mi rutina de convertir a un poke en shiny, pero me da un huevo malo, no se donde esta el fallo
.text
.align 2
.thumb
main:
push {r0-r3, lr}
ldr r0, var_8004
ldrh r0, [r0]
mov r1, #0x64
mul r1, r1, r0
ldr r0, pokemondata
add r0, r0, r1
ldrh r1, [r0,#6]
ldrh r0, [r0,#4]
eor r0, r0, r1
mov r1, #0x0
eor r1, r1, r0
ldr r0, PID1
ldrh r0, [r0]
eor r1, r1, r0
ldr r0, PID2
strh r1, [r0]
ldr r0, =0x02024284
ldr r1, =0x020370C0
ldrb r1, [r1]
mov r2, #0x64
mul r1, r2
add r0, r0, r1
ldr r3, =(0x803E47C +1)
bl linker
b end
linker:
bx r3
end:
pop {r0-r3,pc}
.align 2
pokemondata: .word 0x02024284
PID1: .word 0x02024284
PID2: .word 0x02024286
var_8004: .word 0x020370C0