mirror of
https://github.com/pret/pokediamond.git
synced 2026-03-21 17:54:29 -05:00
643 lines
11 KiB
ArmAsm
643 lines
11 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.section .rodata
|
|
|
|
.global UNK_020FD1C0
|
|
UNK_020FD1C0: ; 0x020FD1C0
|
|
.byte 0x01, 0x01, 0x01, 0x01
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_02088320
|
|
sub_02088320: ; 0x02088320
|
|
push {r3-r7, lr}
|
|
add r5, r1, #0x0
|
|
mov r1, #0x59
|
|
lsl r1, r1, #0x2
|
|
add r6, r0, #0x0
|
|
add r7, r2, #0x0
|
|
str r3, [sp, #0x0]
|
|
bl Heap_Alloc
|
|
mov r2, #0x59
|
|
mov r1, #0x0
|
|
lsl r2, r2, #0x2
|
|
add r4, r0, #0x0
|
|
bl MI_CpuFill8
|
|
str r6, [r4, #0x0]
|
|
cmp r5, #0x10
|
|
bls _0208834A
|
|
mov r0, #0x10
|
|
strh r0, [r4, #0xa]
|
|
b _0208834C
|
|
_0208834A:
|
|
strh r7, [r4, #0xa]
|
|
_0208834C:
|
|
strh r5, [r4, #0xc]
|
|
ldr r0, [sp, #0x0]
|
|
strh r0, [r4, #0xe]
|
|
ldr r0, [sp, #0x18]
|
|
str r0, [r4, #0x4]
|
|
add r0, r4, #0x0
|
|
bl sub_0208837C
|
|
add r0, r4, #0x0
|
|
pop {r3-r7, pc}
|
|
|
|
thumb_func_start sub_02088360
|
|
sub_02088360: ; 0x02088360
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_0208843C
|
|
mov r2, #0x59
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
lsl r2, r2, #0x2
|
|
bl MI_CpuFill8
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0208837C
|
|
sub_0208837C: ; 0x0208837C
|
|
push {r4-r7, lr}
|
|
sub sp, #0xc
|
|
ldr r1, _02088438 ; =UNK_020FD1C0
|
|
str r0, [sp, #0x0]
|
|
ldrb r2, [r1, #0x0]
|
|
add r0, sp, #0x8
|
|
strb r2, [r0, #0x0]
|
|
ldrb r2, [r1, #0x1]
|
|
strb r2, [r0, #0x1]
|
|
ldrb r2, [r1, #0x2]
|
|
ldrb r1, [r1, #0x3]
|
|
strb r2, [r0, #0x2]
|
|
strb r1, [r0, #0x3]
|
|
ldr r0, [sp, #0x0]
|
|
ldr r2, [sp, #0x0]
|
|
ldr r1, [sp, #0x0]
|
|
ldrh r0, [r0, #0xc]
|
|
ldr r2, [r2, #0x0]
|
|
add r1, #0x14
|
|
bl sub_02008C9C
|
|
ldr r1, [sp, #0x0]
|
|
mov r6, #0x15
|
|
str r0, [r1, #0x10]
|
|
add r0, r1, #0x0
|
|
ldrh r1, [r0, #0xa]
|
|
add r0, sp, #0x8
|
|
ldr r5, [sp, #0x0]
|
|
strb r1, [r0, #0x1]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x4]
|
|
add r7, sp, #0x8
|
|
add r4, r0, #0x0
|
|
lsl r6, r6, #0x4
|
|
_020883C0:
|
|
ldr r2, [sp, #0x0]
|
|
ldrb r0, [r7, #0x0]
|
|
ldr r1, [sp, #0x4]
|
|
ldr r2, [r2, #0x0]
|
|
bl sub_02008DEC
|
|
mov r1, #0x5
|
|
lsl r1, r1, #0x6
|
|
str r0, [r5, r1]
|
|
ldr r1, [sp, #0x0]
|
|
ldrb r0, [r7, #0x0]
|
|
ldr r1, [r1, #0x0]
|
|
bl sub_02009424
|
|
mov r1, #0x15
|
|
lsl r1, r1, #0x4
|
|
str r0, [r5, r1]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #0x4
|
|
ldr r3, [r5, r0]
|
|
mov r1, #0x0
|
|
ldr r0, [r3, #0x4]
|
|
cmp r0, #0x0
|
|
bls _02088402
|
|
add r2, r1, #0x0
|
|
_020883F2:
|
|
ldr r0, [r3, #0x0]
|
|
add r1, r1, #0x1
|
|
str r4, [r0, r2]
|
|
ldr r3, [r5, r6]
|
|
add r2, r2, #0x4
|
|
ldr r0, [r3, #0x4]
|
|
cmp r1, r0
|
|
blo _020883F2
|
|
_02088402:
|
|
ldr r0, [sp, #0x4]
|
|
add r7, r7, #0x1
|
|
add r0, r0, #0x1
|
|
add r5, r5, #0x4
|
|
str r0, [sp, #0x4]
|
|
cmp r0, #0x4
|
|
blo _020883C0
|
|
ldr r0, [sp, #0x0]
|
|
bl sub_020886CC
|
|
ldr r0, [sp, #0x0]
|
|
mov r1, #0x4
|
|
ldr r0, [r0, #0x0]
|
|
bl Heap_Alloc
|
|
mov r2, #0x16
|
|
ldr r1, [sp, #0x0]
|
|
lsl r2, r2, #0x4
|
|
str r0, [r1, r2]
|
|
add r0, r1, #0x0
|
|
ldr r0, [r0, r2]
|
|
mov r1, #0x0
|
|
mov r2, #0x4
|
|
bl MI_CpuFill8
|
|
add sp, #0xc
|
|
pop {r4-r7, pc}
|
|
.balign 4
|
|
_02088438: .word UNK_020FD1C0
|
|
|
|
thumb_func_start sub_0208843C
|
|
sub_0208843C: ; 0x0208843C
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
bl Heap_Free
|
|
ldr r0, [r5, #0x10]
|
|
bl sub_0201FD58
|
|
mov r0, #0x15
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
bl sub_02009C30
|
|
mov r0, #0x55
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl sub_02009E28
|
|
mov r7, #0x15
|
|
lsl r7, r7, #0x4
|
|
add r6, r7, #0x0
|
|
mov r4, #0x0
|
|
sub r6, #0x10
|
|
_0208846E:
|
|
ldr r0, [r5, r7]
|
|
bl sub_02009448
|
|
ldr r0, [r5, r6]
|
|
bl sub_02008E2C
|
|
add r4, r4, #0x1
|
|
add r5, r5, #0x4
|
|
cmp r4, #0x4
|
|
blo _0208846E
|
|
pop {r3-r7, pc}
|
|
|
|
thumb_func_start sub_02088484
|
|
sub_02088484: ; 0x02088484
|
|
ldr r3, _0208848C ; =sub_0201FDEC
|
|
ldr r0, [r0, #0x10]
|
|
bx r3
|
|
nop
|
|
_0208848C: .word sub_0201FDEC
|
|
|
|
thumb_func_start sub_02088490
|
|
sub_02088490: ; 0x02088490
|
|
push {r3-r7, lr}
|
|
sub sp, #0x70
|
|
str r1, [sp, #0x2c]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r5, r0, #0x0
|
|
add r7, r2, #0x0
|
|
str r3, [sp, #0x30]
|
|
bl sub_020887CC
|
|
str r0, [sp, #0x3c]
|
|
cmp r0, #0x0
|
|
bge _020884B4
|
|
bl GF_AssertFail
|
|
add sp, #0x70
|
|
mov r0, #0x0
|
|
pop {r3-r7, pc}
|
|
_020884B4:
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x8
|
|
bl Heap_Alloc
|
|
str r0, [sp, #0x38]
|
|
mov r1, #0x0
|
|
mov r2, #0x8
|
|
bl MI_CpuFill8
|
|
ldr r1, [sp, #0x3c]
|
|
ldr r0, [sp, #0x38]
|
|
strh r1, [r0, #0x0]
|
|
ldr r0, [sp, #0x94]
|
|
cmp r0, #0x0
|
|
bne _020884D6
|
|
mov r6, #0x1
|
|
b _020884D8
|
|
_020884D6:
|
|
mov r6, #0x2
|
|
_020884D8:
|
|
ldr r0, [sp, #0x3c]
|
|
mov r1, #0x55
|
|
lsl r1, r1, #0x2
|
|
lsl r4, r0, #0x2
|
|
ldr r0, [r5, r1]
|
|
ldr r3, [sp, #0x2c]
|
|
ldr r0, [r0, #0x0]
|
|
sub r1, #0x10
|
|
ldr r0, [r0, r4]
|
|
mov r2, #0x58
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r5, #0x0]
|
|
add r3, r3, #0x3
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [r5, r1]
|
|
ldr r1, [sp, #0x34]
|
|
bl sub_02009168
|
|
mov r0, #0x55
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r0, [r0, #0x0]
|
|
ldr r0, [r0, r4]
|
|
bl sub_02009DE0
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x10
|
|
bl Heap_Alloc
|
|
add r4, r0, #0x0
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x8
|
|
bl Heap_Alloc
|
|
str r0, [r4, #0x8]
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x24
|
|
bl Heap_Alloc
|
|
ldr r1, [r4, #0x8]
|
|
mov r3, #0xe
|
|
str r0, [r1, #0x0]
|
|
ldr r0, [r4, #0x8]
|
|
lsl r3, r3, #0xc
|
|
ldr r0, [r0, #0x0]
|
|
mov r1, #0x0
|
|
str r0, [r4, #0x4]
|
|
mov r0, #0x0
|
|
str r3, [sp, #0x0]
|
|
mvn r0, r0
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
add r0, sp, #0x78
|
|
ldrb r0, [r0, #0x14]
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x5
|
|
lsl r0, r0, #0x6
|
|
ldr r2, [r5, r0]
|
|
str r2, [sp, #0x14]
|
|
add r2, r0, #0x4
|
|
ldr r2, [r5, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r0, #0x0
|
|
add r2, #0x8
|
|
ldr r2, [r5, r2]
|
|
add r0, #0xc
|
|
str r2, [sp, #0x1c]
|
|
ldr r0, [r5, r0]
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
ldr r2, [sp, #0x3c]
|
|
ldr r0, [r4, #0x4]
|
|
add r1, r3, #0x0
|
|
add r2, r2, r3
|
|
bl sub_02008AA4
|
|
ldr r0, [r5, #0x10]
|
|
cmp r7, #0x0
|
|
str r0, [sp, #0x40]
|
|
ldr r0, [r4, #0x4]
|
|
str r0, [sp, #0x44]
|
|
beq _02088596
|
|
lsl r0, r7, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0x0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _020885A4
|
|
_02088596:
|
|
lsl r0, r7, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_020885A4:
|
|
bl _ffix
|
|
str r0, [sp, #0x48]
|
|
ldr r0, [sp, #0x30]
|
|
cmp r0, #0x0
|
|
beq _020885C2
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0x0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _020885D0
|
|
_020885C2:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_020885D0:
|
|
bl _ffix
|
|
str r0, [sp, #0x4c]
|
|
add r0, sp, #0x78
|
|
ldrh r0, [r0, #0x10]
|
|
cmp r0, #0x0
|
|
beq _020885F0
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0x0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _020885FE
|
|
_020885F0:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_020885FE:
|
|
bl _ffix
|
|
str r0, [sp, #0x50]
|
|
cmp r6, #0x2
|
|
bne _02088612
|
|
mov r0, #0x3
|
|
ldr r1, [sp, #0x4c]
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x4c]
|
|
_02088612:
|
|
mov r0, #0x1
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x54]
|
|
str r0, [sp, #0x58]
|
|
str r0, [sp, #0x5c]
|
|
mov r1, #0x0
|
|
add r0, sp, #0x40
|
|
strh r1, [r0, #0x20]
|
|
add r0, sp, #0x78
|
|
ldrb r0, [r0, #0x18]
|
|
str r6, [sp, #0x68]
|
|
str r0, [sp, #0x64]
|
|
ldr r0, [r5, #0x0]
|
|
str r0, [sp, #0x6c]
|
|
add r0, sp, #0x40
|
|
bl sub_0201FE94
|
|
str r0, [r4, #0x0]
|
|
cmp r0, #0x0
|
|
beq _02088652
|
|
mov r1, #0x0
|
|
bl sub_02020130
|
|
ldr r0, [sp, #0x34]
|
|
add r1, r6, #0x0
|
|
bl sub_02009E88
|
|
add r1, r0, #0x0
|
|
ldr r0, [r4, #0x0]
|
|
bl sub_02020248
|
|
b _02088656
|
|
_02088652:
|
|
bl GF_AssertFail
|
|
_02088656:
|
|
ldr r0, [sp, #0x38]
|
|
str r4, [r0, #0x4]
|
|
add sp, #0x70
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02088660
|
|
sub_02088660: ; 0x02088660
|
|
push {r4, lr}
|
|
sub sp, #0x8
|
|
add r3, r2, #0x0
|
|
mov r2, #0x55
|
|
lsl r2, r2, #0x2
|
|
ldr r4, [r0, r2]
|
|
ldrh r1, [r1, #0x0]
|
|
ldr r4, [r4, #0x0]
|
|
sub r2, #0x10
|
|
lsl r1, r1, #0x2
|
|
ldr r4, [r4, r1]
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
ldr r1, [r0, #0x0]
|
|
add r3, r3, #0x3
|
|
str r1, [sp, #0x4]
|
|
ldr r0, [r0, r2]
|
|
add r1, r4, #0x0
|
|
mov r2, #0x58
|
|
bl sub_02009168
|
|
add r0, r4, #0x0
|
|
bl sub_02009DE0
|
|
add sp, #0x8
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_02088694
|
|
sub_02088694: ; 0x02088694
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
add r5, r0, #0x0
|
|
ldr r0, [r4, #0x4]
|
|
bl sub_0200C3DC
|
|
mov r1, #0x16
|
|
ldrh r2, [r4, #0x0]
|
|
lsl r1, r1, #0x4
|
|
ldr r3, [r5, r1]
|
|
mov r0, #0x0
|
|
lsl r2, r2, #0x2
|
|
strb r0, [r3, r2]
|
|
ldrh r2, [r4, #0x0]
|
|
ldr r3, [r5, r1]
|
|
lsl r2, r2, #0x2
|
|
add r2, r3, r2
|
|
strh r0, [r2, #0x2]
|
|
ldr r2, [r5, r1]
|
|
ldrh r1, [r4, #0x0]
|
|
lsl r1, r1, #0x2
|
|
add r1, r2, r1
|
|
strb r0, [r1, #0x1]
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020886CC
|
|
sub_020886CC: ; 0x020886CC
|
|
push {r3-r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0x0
|
|
mov r0, #0x15
|
|
lsl r0, r0, #0x4
|
|
ldr r4, [r5, r0]
|
|
mov r1, #0xe
|
|
lsl r1, r1, #0xc
|
|
str r1, [sp, #0x0]
|
|
ldrh r1, [r5, #0xe]
|
|
mov r2, #0x0
|
|
sub r0, #0x10
|
|
str r1, [sp, #0x4]
|
|
ldr r1, [r5, #0x0]
|
|
add r3, r2, #0x0
|
|
str r1, [sp, #0x8]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x58
|
|
bl sub_02008F34
|
|
ldr r1, [r4, #0x0]
|
|
str r0, [r1, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
ldr r0, [r0, #0x0]
|
|
cmp r0, #0x0
|
|
bne _02088704
|
|
bl GF_AssertFail
|
|
_02088704:
|
|
ldr r0, [r5, #0x4]
|
|
cmp r0, #0x0
|
|
beq _02088728
|
|
cmp r0, #0x1
|
|
beq _02088714
|
|
cmp r0, #0x2
|
|
beq _0208871E
|
|
b _02088728
|
|
_02088714:
|
|
ldr r0, [r4, #0x0]
|
|
ldr r0, [r0, #0x0]
|
|
bl sub_02009B04
|
|
b _02088730
|
|
_0208871E:
|
|
ldr r0, [r4, #0x0]
|
|
ldr r0, [r0, #0x0]
|
|
bl sub_02009B78
|
|
b _02088730
|
|
_02088728:
|
|
ldr r0, [r4, #0x0]
|
|
ldr r0, [r0, #0x0]
|
|
bl sub_02009A50
|
|
_02088730:
|
|
mov r4, #0x0
|
|
add r6, r5, #0x0
|
|
_02088734:
|
|
mov r0, #0x56
|
|
lsl r0, r0, #0x2
|
|
ldr r7, [r6, r0]
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
add r0, r4, #0x2
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x58
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x52
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r6, r0]
|
|
add r2, r4, #0x1
|
|
mov r3, #0x0
|
|
bl sub_020090AC
|
|
ldr r1, [r7, #0x0]
|
|
str r0, [r1, #0x0]
|
|
ldr r0, [r7, #0x0]
|
|
ldr r0, [r0, #0x0]
|
|
cmp r0, #0x0
|
|
bne _02088768
|
|
bl GF_AssertFail
|
|
_02088768:
|
|
add r4, r4, #0x1
|
|
add r6, r6, #0x4
|
|
cmp r4, #0x2
|
|
blt _02088734
|
|
mov r0, #0x55
|
|
lsl r0, r0, #0x2
|
|
ldr r6, [r5, r0]
|
|
ldrh r0, [r5, #0xa]
|
|
mov r7, #0x0
|
|
cmp r0, #0x0
|
|
ble _020887C6
|
|
add r4, r7, #0x0
|
|
_02088780:
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xc
|
|
add r0, r7, r0
|
|
str r0, [sp, #0x0]
|
|
ldrh r0, [r5, #0xe]
|
|
mov r1, #0x58
|
|
mov r2, #0x4
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x8]
|
|
ldr r0, [r5, #0x0]
|
|
mov r3, #0x0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x51
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl sub_02008FEC
|
|
ldr r1, [r6, #0x0]
|
|
str r0, [r1, r4]
|
|
ldr r0, [r6, #0x0]
|
|
ldr r0, [r0, r4]
|
|
cmp r0, #0x0
|
|
bne _020887B4
|
|
bl GF_AssertFail
|
|
_020887B4:
|
|
ldr r0, [r6, #0x0]
|
|
ldr r0, [r0, r4]
|
|
bl sub_02009CF0
|
|
ldrh r0, [r5, #0xa]
|
|
add r7, r7, #0x1
|
|
add r4, r4, #0x4
|
|
cmp r7, r0
|
|
blt _02088780
|
|
_020887C6:
|
|
add sp, #0x10
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020887CC
|
|
sub_020887CC: ; 0x020887CC
|
|
push {r3-r6}
|
|
ldrh r5, [r0, #0xa]
|
|
mov r3, #0x0
|
|
cmp r5, #0x0
|
|
bls _0208880A
|
|
mov r2, #0x16
|
|
lsl r2, r2, #0x4
|
|
ldr r4, [r0, r2]
|
|
_020887DC:
|
|
lsl r2, r3, #0x2
|
|
ldrb r6, [r4, r2]
|
|
cmp r6, #0x0
|
|
bne _02088800
|
|
add r4, r4, r2
|
|
strh r3, [r4, #0x2]
|
|
mov r4, #0x16
|
|
lsl r4, r4, #0x4
|
|
ldr r5, [r0, r4]
|
|
add r5, r5, r2
|
|
strb r1, [r5, #0x1]
|
|
ldr r0, [r0, r4]
|
|
mov r1, #0x1
|
|
strb r1, [r0, r2]
|
|
lsl r0, r3, #0x10
|
|
asr r0, r0, #0x10
|
|
pop {r3-r6}
|
|
bx lr
|
|
_02088800:
|
|
add r2, r3, #0x1
|
|
lsl r2, r2, #0x10
|
|
lsr r3, r2, #0x10
|
|
cmp r3, r5
|
|
blo _020887DC
|
|
_0208880A:
|
|
mov r0, #0x0
|
|
mvn r0, r0
|
|
pop {r3-r6}
|
|
bx lr
|
|
.balign 4
|