tmc/asm/non_matching/scroll/sub_080806BC.inc

62 lines
1.0 KiB
PHP

.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
mov sb, r0
mov r8, r1
adds r7, r2, #0
adds r6, r3, #0
ldr r0, _08080710 @ =gArea
ldr r1, _08080714 @ =0x0000085C
adds r0, r0, r1
ldr r0, [r0]
ldr r5, [r0, #0x18]
ldrh r0, [r5]
ldr r1, _08080718 @ =0x0000FFFF
cmp r0, r1
beq _08080728
mov sl, r1
_080806E2:
ldrh r2, [r5]
movs r0, #1
lsls r0, r2
ands r0, r6
cmp r0, #0
beq _08080720
ldr r1, _0808071C @ =gUnk_0811E7AC
lsls r0, r2, #2
adds r0, r0, r1
ldr r4, [r0]
adds r0, r5, #0
mov r1, sb
mov r2, r8
adds r3, r7, #0
bl _call_via_r4
cmp r0, #0
beq _08080720
adds r0, r5, #0
bl DoExitTransition
movs r0, #1
b _0808072A
.align 2, 0
_08080710: .4byte gArea
_08080714: .4byte 0x0000085C
_08080718: .4byte 0x0000FFFF
_0808071C: .4byte gUnk_0811E7AC
_08080720:
adds r5, #0x14
ldrh r0, [r5]
cmp r0, sl
bne _080806E2
_08080728:
movs r0, #0
_0808072A:
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.syntax divided