33 lines
533 B
ArmAsm
33 lines
533 B
ArmAsm
stwu [r1 - 0x10], r1
|
|
mflr r0
|
|
stw [r1 + 0x14], r0
|
|
stw [r1 + 0x08], r31
|
|
stw [r1 + 0x0C], r30
|
|
|
|
b get_data_addr
|
|
resume:
|
|
mflr r31
|
|
|
|
lwz r30, [r31]
|
|
li r0, 1
|
|
stw [r30], r0
|
|
|
|
addi r3, r31, 0x0C
|
|
lwz r4, [r31 + 8]
|
|
lwz r0, [r31 + 4]
|
|
mtctr r0
|
|
bctrl
|
|
|
|
li r0, 0
|
|
stw [r30], r0
|
|
|
|
lwz r30, [r1 + 0x0C]
|
|
lwz r31, [r1 + 0x08]
|
|
lwz r0, [r1 + 0x14]
|
|
mtlr r0
|
|
addi r1, r1, 0x10
|
|
blr
|
|
|
|
get_data_addr:
|
|
bl resume
|